ローカルの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フレームのサイズを変更する必要はありませんが、その解決策は役に立ちませんでした。これは機能していないので、私は別の方法を探しています。