
其实iframe是一个独立的页面,与父页面是嵌套但变量独立的关系。所以iframe加载时,如果js方法不涉及 *** 作文档对象(DOM),就直接调用;如果该js方法涉及 *** 作dom,就添加windowonload事件触发函数处理,在处理函数内调用js方法
query取得iframe中元素的几种方法
在iframe子页面获取父页面元素
代码如下:
$('#objId', parentdocument);
// 搞定
在父页面 获取iframe子页面的元素
代码如下:
$("#objid",documentframes('iframename')document)
$(documentgetElementById('iframeId')contentWindowdocumentbody)html()
显示iframe中body元素的内容。
$("#testId", documentframes("iframename")document)html();
根据iframename取得其中ID为"testId"元素
$(windowframes["iframeName"]document)find("#testId")html()
用JS或jQuery访问页面内的iframe,兼容IE/FF
注意:框架内的页面是不能跨域的!
假设有两个页面,在相同域下
indexhtml 文件内含有一个iframe:
XML/HTML代码
">
你的代码写的没有错
如果我猜得不错的话,你是直接运行的这段代码!
先给你讲原理:
调用DOM对象,必须在页面(框架)完全下载完后才能构建DOM树, 所以我们一般是把这些代码封到一个函数内,再用windowonload来指向这样解决:
function show()
{
documentwrite(windowframes["cwin"]documentgetElementById("reg")styleheight);
}
windowonload=show;
也许你会说,那为什么我的innerHTML能获取到呢 请注意:完全下载!
明白了吧
您好,HTML5规范文档中指出:如果一个元素符合下面两条规则中的任一条,则window对象中必须要有与之对应的一个属性,属性值就是这个对象
如果一个元素拥有ID属性,那么ID属性的属性值就会成为window对象的属性名
如果一个元素拥有name属性,那么name属性的属性值就会成为window对象的属性名但这个元素的标签名必须是: a, applet, area, embed, form, frame, frameset, iframe, img, object,其中的一个。
> "foo" in window
false
> typeof foo // 这个全局变量到底有木有
object
//错误控制台输出了下面的警告//Element referenced by ID/NAME in the global scope
//Use W3C standard documentgetElementById() instead
> foo
[object HTMLDivElement]
//错误控制台输出了下面的警告//Element referenced by ID/NAME in the global scope
//Use W3C standard documentgetElementById() instead> "foo" in window true
父页面读写 *** 作子页面:
<iframe id="test-iframe" name="test-iframe" src="childhtml" scrolling="no" frameborder="0"></iframe>
<script>
windowonload = function () {
/
下面两种获取节点内容的方式都可以。
由于 IE6, IE7 不支持 contentDocument 属性,所以此处用了通用的
windowframes["iframe Name"] or windowframes[index]
/
var d = windowframes["test-iframe"]document;
dgetElementsByTagName('h1')[0]innerHTML = 'pp';
alert(dgetElementsByTagName('h1')[0]firstChilddata);
}
</script>
注:在请务必通过 windowonload 方法访问 iframe 中的节点,否则浏览器会提示错误-拒绝访问。在 IE8, Firefox36, Opera11 下在 DOMReady 时也可以访问 iframe 中的节点。
以上就是关于页面如何在加载的时候就调用iframe内的js方法全部的内容,包括:页面如何在加载的时候就调用iframe内的js方法、JavaScript或jquery获取frame的元素的值、JS 获取iframe中的div高度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)