问题描述
|
祝大家有美好的一天。
我有一个包含iframe的页面。在该iframe中,我有一个脚本,名为test()。我需要从父窗口访问该函数。问了一下之后,我得到了这个解决方案:
<div onclick=\"document.getElementById(\'targetFrame\').contentwindow.teste();\">Test</div>
单击后,应运行测试功能。问题是我收到“拒绝访问属性测试的权限”错误。
对我来说,这似乎是个权限错误,因此我将iframe权限中加载的文件更改为777,但没有任何结果。
注意:iframe中加载的文件不在同一域中。
解决方法
默认情况下,禁止访问来自其他域的页面,因为浏览器使用相同的来源策略。有几种解决方法,例如使用location.hash或window.name在框架之间进行通信。 HTML5中最新的和标准化的是postMessage-interface。
跨浏览器解决方案的库http://easyxdm.net/wp/。
,我不确定跨窗口(帧)通信是否必须位于相同的域,协议和主机名下。有关更多信息,请参见JavaScript的同源策略和与iframe的跨域通信