4

親ページからの変更について iframe src を確認する必要があります。

$('myiframe').attr('src');

正常に動作しますが、iframe内からjavascriptを介してURLのハッシュを変更すると

location.href += '#hash';

location.href を検査する iframe から変更されていることがわかりますが、親ドキュメントからは src は変更されていないようです。何か助けはありますか?

編集

含まれているページと iframe は別のドメインにあるため、src 属性で検査する必要があり、iframelocation.hrefプロパティにアクセスできません。

4

4 に答える 4

3

ハッシュパラメータがプロパティlocation.hrefにありません、試してください

location.hash = 'hash';
于 2012-12-17T14:59:19.700 に答える
0

このスニペットは、YouTube クリップ、PDF、および HTML ページで機能します (対象の Web サイトによってフレームが意図的にブロックされていない限り)。

リンクは、ドキュメント 'htp://someurl' を div id="someID" 内の匿名の iframe にレンダリングします。

`<a href="htp://someurl" onclick="renderLink('someID');return false;" title="Click to view external document">view external document</a>`

`function renderLink() {`   
    `if (!e) var e = window.event;`
    `var pdfsrc = e.srcElement.getAttribute('href');`
    `var $pdfdiv = document.getElementById('someID');`
    `var $pdfTarget = $pdfdiv.getElementsByTagName("iframe")[0];`
    `$pdfTarget.src = pdfsrc;`
   `}` 
于 2015-01-05T15:21:03.060 に答える
0

親のjavascriptから単純にできるかどうかは疑問です。そうすれば、次のことができるからです。

  1. 非表示の iframe を使用してページを作成します。(たとえばhttp://mysite.com/fake )
  2. iframe で、Web サイトのログイン プロセス内の中間ページを開きます ( https://accounts.google.com/redirloginのようなもの) 。
  3. 子の Cookie が存在し、十分な注意が払われていない場合、フレーム内のページは、ユーザーがログインした状態で実際の Web サイトにリダイレクトされます。
  4. 親ページから、通過したすべての中間 URL を確認できます。これには、本質的にいくつかのセッション ID が含まれている可能性があります。

注: orkut の時代に似たようなことをしたことがあり、その「中間ログイン ページ」は orkut へのリダイレクトに使用されていました。これは、実装したい自動ログイン機能のために行われました。ただし、親ページの情報は取得できませんでした。

ノート:

  1. 私は完全に間違っているかもしれませんが、セキュリティの観点から、これは純粋な親側のコードからは不可能だと思います。子供は保護者に通知する必要があります。
  2. ドメイン内のサイトでは実際に機能する可能性があります。
于 2012-12-17T15:14:15.850 に答える
0

クロスドメイン フレームは、互いの場所を設定できますが、読み取ることはできません。(なぜですか?まあ、お互いの場所を読み取ることは、同じオリジン ポリシーに違反し、URL に表示される機密情報が漏えいする可能性があります。ただし、それらの設定が許可されている理由は正確にはわかりません。歴史的に、サイトは親ページをフレームバストに移動する機能を使用していました。 、しかしそれはもうあまり関係ありません。)

したがって、クロスドメイン フレーム通信にハッシュ フラグメントを使用しようとしている場合 (そして、何らかの理由で postMessage を使用できない場合)、それを行う方法は、内部フレームで親の場所のハッシュ フラグメントを変更することです。を使用してwindow.top.location.href。親ページは、ハッシュ フラグメントの変更を頻繁に確認する必要があります。

これが私が見つけたデモです。

于 2012-12-17T15:16:45.960 に答える