9

この質問はばかげているように思えるかもしれませんが、明確にするためにこれを理解する必要があります。

私の理解によると、クロスドメインの問題は、IFRAME を含む Web ページのドメインが IFRAME で開かれた Web ページのドメインと異なる場合です。

その論理によれば、IFRAME で何も開かないはずです。

Web ページ "top:9700" の IFRAME に Web ページ "bottom:10700" を埋め込むと、エラーが発生します。IFRAME のコンテンツを表示できません。エラーはAccess denied in accessing property 'constructor'

コンストラクター (_1.contructor) へのアクセス中にエラーが発生します

isc.A.Function=function isc_isA_Function(_1){
  if(_1==null) return false;
  if(isc.Browser.isIE&&typeof _1==this.$a7) return true;
  var _2=_1.constructor;
  if(_2&&_2.$k!=null){
    if(_2.$k!=1)return false;
    if(_2===Function)return true
  }

このスクリプトは、top に含まれる iframe で、bottom のホームページが開かれたときに実行されます。

何か方法はありますか、私はこれを機能させることができます。つまり、両方のドメインを同じに設定できますか。リモート サイトのスクリプトにアクセスできません。

クロスドメインのシナリオで一度再レンダリングした後、フレームのサイズを変更しています。そうでない場合は、確かにリモート サイトが IFRAME 要素にアクセスしようとしています。これをデバッグするにはどうすればよいですか??

4

2 に答える 2

9

クロスドメインの問題は、iframe 間の通信に関するものです。いつでも任意の iframe を埋め込むことができますが、ドメインが異なる場合、iframe は相互に対話できません (JS の実行、DOM の変更など)。

HTML5 は、クロスドメイン iframe インタラクションの特定の機能を再度有効にするsandboxプロパティを提供します。危険な場合がありますので、ご注意ください。

于 2013-01-07T14:26:04.100 に答える
3

ページ xyz.com が abc.com でホストされている iframe に読み込まれるのは正常な動作です。ただし、親 abc.com からコードを介して何かを変更したり、そのコンテンツにアクセスしたりすることはできません。

これが役に立ったことを願っています。

于 2013-01-07T14:25:50.857 に答える