js怎么获取iframe页面中的dom元素

js怎么获取iframe页面中的dom元素,第1张

原理就是先在当前页面中找到你的Iframe对象

var

oframe

=

documentgetElementById("iframe");

再将iframe对象看着是另一个页面的文本对象

var

childDome

=

oframedocumentgetElementById("H");

简洁点的就是:documentgetElementById("iframe")documentgetElementById("H");

或者是:documentgetElementById("Result")contentWindowdocumentgetElementById("h");

jquery、contentWindow

$("#ii")[0]contentWindow

如果用jquery选择器获得iframe,需要加一个0;

$("#ii")[0]contentWindow$("#dd")val()

可以在得到iframe的window对象后接着使用jquery选择器进行页面 *** 作;

简单的做个例子,框架路径可以自己修改,调用像百度等网站时无法读取其中源码,涉及到一些安全问题,所以路径要求是合法的允许访问的路径 <script> function GetFrameInnerHtml(objIFrame) { var iFrameHTML = ""; if (objIFramecontentDocument) { //针对netscape iFrameHTML = objIFramecontentDocumentinnerHTML; } else if (objIFramecontentWindow) { // 针对ie55和ie6 iFrameHTML = objIFramecontentWindowdocumentbodyinnerHTML; } else if (objIFramedocument) { // For IE5 iFrameHTML = objIFramedocumentbodyinnerHTML; } return iFrameHTML; } </script> <iframe id="ifa" src="1html" ></iframe> <input type="button" value="click" onclick="alert(GetFrameInnerHtml(documentgetElementById('ifa')))"/>

1 先获取页面 a 的 document 对象,通过该对象获取 getElementsByTagName("script")[1]innerHTML 来获取页面 a 中的第二个 script 的内容。

2 获取页面 b 的 document 对象,通过该对象,将刚才 script 的内容 write 出来。

这个做法有个限制,就是不能跨域,即你不能从这个服务器去获取别人服务器页面的document对象。

仅供参考,如有错误,请指出~

可以通过jQuery获取,具体方法如下:

$("iframe")contents()find("a")attr("href");

说明:先获取iframe对象然后获取其中的网页内容,然后查找其中a标签,获取其第一个匹配的a的href。

重点是获取iframe窗体

var frame ;

如果iframe只有一个

frame = windowframes[0];

如果有id 比如 <iframe id="frame" ></iframe>

frame = documentgetElementById("frame")contentWindow;

frame = windowframes["frame"]contentWindow;

最后赋值就好了

documentgetElementById("newid")value = framedocumentgetElementById("old1id")value;

这个要看有没有选择器了

如果有的话 比如 iframe  的id name class 获取其它标签都可以

有的话下面 比如这是a页面 叫indexhtml

<html>

<head>

<style>

body{

width:100%;

}

#emmm{

height: 200px;

    width: 200px;

}

</style>

<body>

<iframe src="

</body>

</head>

</html>

b页面 叫fubenhtml

<html>

<head>

<style>

body{

width:100%;

}

#emmm{

height: 100px;

    width: 100px;

border:1px solid #ddd;

}

</style>

<body>

</body>

<script>

var cc = windowparentdocumentgetElementsByTagName("iframe");

for ( var i=0;i<cclength;i++ ) {

    if(cc[i]getAttribute("date-m") == "2333"){

alert(cc[i]getAttribute("id")+"/"+cc[i]getAttribute("name"));  

}

}

</script>

</head>

</html>

<!--

windowparentdocumentgetElementsByTagName("iframe")

这个代表获取父页面所有 iframe 

然后循环所有iframe 

判断当前iframe 的自定义属性  

判断他等不等于定的

getAttribute就是获取属性的  

如果有id name class的话直接用值getAttribute("id");就可以)

-->//如果没有能判定的只知道是个iframe

//修改script代码

var cc = windowparentdocumentgetElementsByTagName("iframe");

for ( var i=0;i<cclength;i++ ) {

    if(cc[i]getAttribute("src") == windowlocationhref){

alert(cc[i]getAttribute("id")+"/"+cc[i]getAttribute("name"));  

}

}

//还是获取父页面所有iframe

//循环

//判断父页面iframe的src 是否等于当前的url   这里只写了全url 如果相对路径还要截取

//当前iframe 如果url和src相同输出当前的 id和name

parent不可以跨域 如果想要跨域来做什么修改就不要想了

你好,iframe跨域框住外部链接(不是同一个域名下的以页面),会没有权限的。

这个没办法解决,这是为了安全做的限制。

以上就是关于js怎么获取iframe页面中的dom元素全部的内容,包括:js怎么获取iframe页面中的dom元素、如何用javascript 跨域获取iframe子页面的元素信息、如何通过js获取一个网页中的iframe调用的网页的源代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9771069.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存