我想在本地 jquery 对话框中制作跨域 iframe 内容。当我在同一个应用程序中开发它时,一切都很好。当我尝试使用另一个 url 在另一个应用程序上测试它时,我收到错误:
Error: Permission denied to access property ...
我知道,安全策略存在问题,但我需要在框架内进行选择。
让我向您展示我的工作:
foo/plugin.js:
变量框架DOM;
功能框架加载(){
for (var i = 0; i < window.frames.length; i++) {
if (window.frames[i].name == "frame-name-here") {
frameDOM = window.frames[i].document;
休息;
}
}
}
$(函数(){
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 () { //这里有些长代码
}
}
创建:函数(事件,用户界面){
$(this).append(frame);
}
});
加载框架后,我可以轻松访问框架内的内容:
$("#frame-input", frameDOM).val();
跨域我失去了这种可能性。是否有其他方法可以控制取自另一个域的选择器内框?
PS我不需要调整框架大小,该解决方案没有帮助。我正在寻找替代方法,因为这个方法不起作用。