js跨域转iframe
js cross-domain to iframe
我的页面中嵌入了来自不同域的 iframe。是否可以通过某种方式从父页面访问其 DOM ?现在它说:
未捕获 DOM异常:无法从 'HTMLIFrameElement' 读取 'contentDocument' 属性:阻止了来源为“http://localhost:63342”的帧访问交叉-原始框架。
我希望添加指令
<?php header('Access-Control-Allow-Origin: *'); ?>
到 iframe 页面会有帮助,但没有用。
这两个域现在都位于我的本地主机上,但在不同的服务器 运行 下。
那么有一些可行的解决方案吗?
请注意,我只需要访问一些 iframe 的元素,而不是关于 postMessages、websockets 等。
Notice that I need just an access to some iframe's elements
无法直接访问
it's not about postMessages
postMessage
可以达到同样的最终目的。
您只需要将访问 DOM 的代码移动到 iframe 内的页面,然后使用父 window 中的 postMessage
将该页面请求到 运行 它。然后该页面可以将父 window 需要的任何数据序列化为字符串,并使用 postMessage
将其发回。
我的页面中嵌入了来自不同域的 iframe。是否可以通过某种方式从父页面访问其 DOM ?现在它说:
未捕获 DOM异常:无法从 'HTMLIFrameElement' 读取 'contentDocument' 属性:阻止了来源为“http://localhost:63342”的帧访问交叉-原始框架。
我希望添加指令
<?php header('Access-Control-Allow-Origin: *'); ?>
到 iframe 页面会有帮助,但没有用。 这两个域现在都位于我的本地主机上,但在不同的服务器 运行 下。 那么有一些可行的解决方案吗? 请注意,我只需要访问一些 iframe 的元素,而不是关于 postMessages、websockets 等。
Notice that I need just an access to some iframe's elements
无法直接访问
it's not about postMessages
postMessage
可以达到同样的最终目的。
您只需要将访问 DOM 的代码移动到 iframe 内的页面,然后使用父 window 中的 postMessage
将该页面请求到 运行 它。然后该页面可以将父 window 需要的任何数据序列化为字符串,并使用 postMessage
将其发回。