6

画像が次の方法で読み込まれたかどうかを検出することは可能ですか:

<img src="image.jpg"/>

アドレスバーの対比、または次の方法で直接リンクされています。

<a href="image.jpg">Image</a>

ありがとう。

4

2 に答える 2

5

いいえ、一般的にはそうではありません。

ブラウザは両方に対してまったく同じリクエストを発行します。

ブラウザーが HTML を解析するとき (最初に取得するもの)、追加の各リソース (JavaScript、CSS、画像、およびその他のリンクされたファイル) が個別に要求されます。ブラウザーは、どこから参照を取得したかについての情報を追加しません。そのため、リクエストがアドレス バーに直接表示されたものか、HTML ページの参照からのものかを判断することはできません。

ログをクエリして、リクエストがすべて独自のものであるかどうか、または HTML ページ (およびおそらく他のリソース) へのリクエストがほぼ同時に行われたかどうかを確認できます。これは絶対確実ではありません (Web 上の複数レベルのキャッシングについて考えてみてください)。

于 2012-08-31T15:35:34.100 に答える
2

可能です。
リファラーを確認してください!

<img src="image.jpg"/>

リファラーは画像の前のページになります

<a href="image.jpg">Image</a>

リファラーは、画像が埋め込まれているページになります

それ以外の場合は、GETパラメータを追加するだけです。

<img src="image.jpg?src=img"/>

<a href="image.jpg?src=a">Image</a>

次のページのJSまたはapacheログで、ユーザーの副作用や落とし穴なしにGETパラメーターを評価します。

于 2012-09-01T12:51:58.407 に答える