跨域iframe jQuery选择器



我想在本地jQuery对话框中制作跨域iframe内容。当我在同一应用程序中开发它时,一切都很好。当我尝试使用另一个URL上的另一个应用程序对其进行测试时,我会收到错误:

Error: Permission denied to access property ...

我知道,安全策略存在问题,但是我需要在框架内进行选择。

让我告诉你我的工作:
foo/plugin.js:

    var framedom;    功能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()'/>";    $("#对话框形式")。对话框({autoopen:true,高度:450,宽度:500,模态:true,resizizable:false,false,false                纽扣: {                    "交付":function(){//这里有一些长代码                        }                }                创建:函数(event,ui){                    $(this).append(帧);                }            });


加载帧后,我可以轻松地访问框架内的内容:

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


有了跨域,我失去了这种可能性。是否有其他方法可以控制选择器损失框架,从另一个域中取出?

P.S.我不需要调整框架大小,该解决方案没有帮助。我正在寻找其他方法,因为这是不起作用的。

不幸的是,除非您可以通过PHP或其他一些脚本语言抓住HTML(可能是在PHP中使用curl),然后将其传递给您的JavaScript应用程序,从同一域将其传递给您的JavaScript应用不可能。请参阅相同的原始策略。

最新更新