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调用的网页的源代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)