私たちのサイトにはいくつかのトラッキング ピクセルがあり、サーバーがダウンしたり低速になったりした場合にユーザー エクスペリエンスに影響を与えないように保護したいと考えています。ブラウザが特定の img の読み込みを試行する最大時間を指定する最も簡単な方法は何ですか?つまり、100ms 試してからあきらめますか? (サードパーティのサーバーでサーバーがハングしてサイトに影響を与えるよりも、特定の顧客を追跡したくありません)。
5 に答える
<img>
JavaScriptを使用して挿入し、setTimeout()
100ミリ秒後に削除するために使用できます。
jQueryの例:
var tracker = $("<img>", { src: trackingUrl }).appendTo(document.body);
setTimeout(function() { tracker.remove(); }, 100);
ドキュメントの準備ができたら、それらをロードする必要があります。または最後の行(html内)。こうすれば、ユーザー エクスペリエンスが損なわれることはありません。document ready は jQuery でも使用できます。
ただし、window.load を使用できます。
原則として (常にではありません) - すべてのスクリプトはページの最後にある必要があります。
タイムアウトを強制したい場合 KILL :
img
タグを作成します。
イベントをimgに添付しload
ます(この関数はフラグを設定します:downloaded = 1;)
ソースを設定します。
関数を使用するとsetTimeout
、imgを殺すつもりです。
どうやって ?
X MS の後にダウンロードされた ==0 の場合、強制終了します。
so : 各読み込みイベント (IMg から) がフラグを設定しています (downloaded=1)。
あなたのタイムアウト機能は何も気にしません!!! x MSの後、彼女はimgを強制終了します-ダウンロードされた== 0の場合のみ。
これを行うにはjavascriptを使用する必要があります。ページベースでこれを行うHTML/HTTPにネイティブなものはありません。「HTMLIMGタイムアウト」のためのグーグル。
IMG タグでサーバー プロセスを呼び出すことができます。ロードのタイムアウトについて心配させてください。