1

ローカルのjqueryダイアログ内にクロスドメインのiframeコンテンツを作成したい。同じアプリケーションで開発していたときは、すべて問題ありませんでした。別のURLを使用して別のアプリケーションでテストしようとすると、エラーが発生します。

Error: Permission denied to access property ...

セキュリティポリシーに問題があることは知っていますが、フレーム内で選択する必要があります。

私がしていることをお見せしましょう:
foo/plugin.js:

    var frameDOM;
    function frameLoaded(){
        for(var i = 0; i <window.frames.length; i ++){
            if(window.frames [i] .name == "frame-name-here"){
                frameDOM = window.frames [i] .document;
                壊す;
            }
        }
    }

    $(function(){
        var frame = "<iframe src ='http:// bar:222 / Home / frame' id ='frame-content' name ='frame-name-here' onload ='frameLoaded()' />";

    $( "#dialog-form")。dialog({autoOpen:true、height:450、width:500、modal:true、resizable:false、
                ボタン:{
                    "Deliver":function(){//ここにいくつかの長いコード
                        }
                }
                create:function(event、ui){
                    $(this).append(frame);
                }
            });


フレームが読み込まれた後、フレーム内のコンテンツに簡単にアクセスできます。

 $("#frame-input", frameDOM).val();


クロスドメインで私はそのような可能性を失いました。別のドメインから取得した、フレーム内のセレクターを制御する他の方法はありますか?

PSフレームのサイズを変更する必要はありませんが、その解決策は役に立ちませんでした。これは機能していないので、私は別の方法を探しています。

4

1 に答える 1

2

残念ながら、PHP または他のスクリプト言語 (おそらく PHP でcURLを使用) を介して HTML を取得し、同じドメインから JavaScript アプリケーションに戻すことができない限り、これは不可能です。Same Origin Policyを参照してください。

于 2012-10-27T13:35:25.537 に答える