use*_*518 4 javascript security iframe jquery
我试图从iframe访问位于父页面上的函数.我收到以下错误,因为他们使用不同的子域:
未捕获的SecurityError:阻止具有原点" http://subdomain.domain.com "的框架访问具有原点" http://subdomain2.domain.com " 的框架.协议,域和端口必须匹配.
我在用:
window.parent.myFunction();
Run Code Online (Sandbox Code Playgroud)
访问父页面上的功能.
有没有针对此的解决方法,或者它根本不起作用,因为它们是不同的子域?
Blocked a frame with origin "http://subdomain.domain.com" from accessing a frame with origin "http://subdomain2.domain.com"
Run Code Online (Sandbox Code Playgroud)
如果添加以下行:
document.domain = 'domain.com';
Run Code Online (Sandbox Code Playgroud)
对于两个帧中的脚本,它们将能够直接与彼此的对象进行交互.有关背景,请参阅MDN.
然而,跨框架脚本散布着令人讨厌的角落情况,其中一个框架执行来自另一个框架的东西,而该框架正在忙于做其他事情,或者尚未完全加载.对于任何重要的事情,我都会避免使用直接的跨框架脚本.
更现代的替代方法是将执行保持在单个帧中,并使用postMessage跨帧进行通信.支持.
归档时间: |
|
查看次数: |
2045 次 |
最近记录: |