如何用javascript 跨域获取iframe子页面的元素信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用javascript 跨域获取iframe子页面的元素信息相关的知识,希望对你有一定的参考价值。

跨域的话想用父页面的js获取iframe里的元素是不可能的。
用chrome扩展程序的话是可以的。
参考技术A javascript获取iframe框架中,加载的页面document对象
因为浏览器安全限制,对跨域访问的页面,其document对象无法读取、设置属性
function getDocument(iframe)

var Doc;
try
Doc = iframe.contentWindow.document;// For IE5.5 and IE6

catch(ex)
if(!Doc)

Doc = iframe.contentDocument;// For NS6

return Doc;


用iframe嵌套页面是,如果父页面要获取子页面里面的内容,可以使用contentWindow或者contentDocument,其区别如下:
a>contentWindow 这是个只读属性,返回指定的iframe的窗口对象。它虽然不是标准的一部分,但各个主流浏览器都支持。
b>contentDocument Firefox 支持,IE6,IE7都不支持,IE8开始支持,需要如此访问 document.frames['J_mainframe'].document。
兼容获取document对象:
var getIFrameDoc = function()
var iobj = document.createElement("iframe");
document.getElementsByTagName("body")[0].appendChild(iobj);
return iobj.contentDocument || iobj.contentWindow.document;
本回答被提问者采纳

以上是关于如何用javascript 跨域获取iframe子页面的元素信息的主要内容,如果未能解决你的问题,请参考以下文章

如何用JS获取iframe里面的内容

iframe子页面在跨域情况下使用父页面的方法

如何用js控制iframe里body的背景属性

解决Iframe跨域高度自适应,利用window.postMessage()实现跨域消息传递页面高度(JavaScript)

计算机网络之iframe内联框架跨域

如何用iframe标签以及Javascript制作时钟?