3

ユーザーが IFrame 内のリンクをクリックしたときに、iframe 内で何が起こるかを追跡したいと考えています。iframe を含むページ (親) は、iframe 内のページでのユーザーのナビゲーションを追跡します。サブドメインは異なりますが、両方のページは同じトップレベル ドメインでホストされます。

クリックごとに親ページに通知する必要がありますが、iframe に読み込むページを直接制御することはできません。

iframe 内のページが読み込まれるたびに、すべてのリンクに onclick を追加していますか? どうすればこれを行うことができますか?

これは、構築する「テンプレート」になります。

<html>
 <script language="javascript">
     var currentURL;
 </script>
 <body>
     <iframe id="container" width="500" height="500" src="http://subdomain.parentdomain.com"/>
 </body>

4

4 に答える 4

3

Iframe CrossDomain アクセスは、同じドメイン、サブドメイン、およびポートである必要があります。

それらが同じドメインにある場合は、すべてのリンクにクリック イベント ハンドラーをバインドし、それらがクリックされたときに、Google アナリティクスやデータベースなどにクリックを記録することができます。

于 2009-12-14T21:37:10.000 に答える
1

iframe に読み込むページを直接制御することはできません

それがあなたのブロッカーです。リモート ページ内のコードを拡張できる場合は、postMessage と iframe フラグメント識別子ハックを使用して、ブラウザー カバレッジを取得できます。幸いなことに、誰かがすでにあなたのために汚い仕事をしてくれました:

于 2009-12-14T23:48:41.037 に答える
0

AJAX-Proxy を使用して、(ブラウザーに関する限り) コンテンツを自分のドメインから取得します。これにより、CodeJoust が言及したクロスドメイン スクリプティングの問題がすべて解決されます。私が生成するオーバーヘッドのために配送の速度が問題になる可能性がありますが、それは確認する必要があります.

おそらく、この Stackoverflow Question の行に沿って移動します。

「iFrame 内のすべての要素に「onclick」を適用する」

ページのコンテンツを動的にプロキシおよび変更することに関する法的な問題については、確認する必要があります。明示的に同意したユーザーを追跡することは、倫理的な観点からは問題ないと思います。

于 2009-12-15T11:04:24.490 に答える