javascript 可以从父页面访问 iframe 元素吗?

IT技术 javascript jquery html
2021-02-28 21:33:54

我在页面上有 iframe,iframe 和父页面在不同的域中,父页面上的 javascript 代码可以访问此 iframe 内的元素吗?

6个回答

如果页面来自不同的域,它应该无法访问,浏览器的安全沙箱应该阻止这种类型的访问。当两个页面来自同一域的不同时,它可能会起作用,但在浏览器之间(甚至可能是同一浏览器的版本)之间可能并且会有所不同。

访问子 iframe 可能会起作用,但反过来肯定不会起作用。

这些是我正在创建的站点,并希望它们都调用一种服务。
2021-04-20 21:33:54
我说的是访问子 iframe 元素,它应该可以工作吗?
2021-04-21 21:33:54
您最好使用 XMLHttpRequest 对象来调用您的服务。然后,所有框架都可以自己访问该服务,并且它们之间不需要任何通信。
2021-05-09 21:33:54

最简单的方法是通过窗口上的框架对象,如下所示:

window.frames[0].document.getElementById('ElementId').style.backgroundColor="#000";
如果子框架在不同的域中,您将获得 Error: Permission denied to access property 'document'
2021-04-25 21:33:54
问题指出 iframe 在另一个域上,所以这行不通。
2021-05-08 21:33:54

如果这两个域是完全分开的,那是不可能的

仅当您可以控制两个域时才可以使用 easyxdm。
2021-04-30 21:33:54

使用 jQuery.postMessage 插件http://benalman.com/code/projects/jquery-postmessage/docs/files/jquery-ba-postmessage-js.html

已测试浏览器 Internet Explorer 6-8、Firefox 3、Safari 3-4、Chrome、Opera 9。

可以通过 Chrome 使用 --disable-web-security 参数来完成...;)