浏览 8525 次
锁定老帖子 主题:日积月累-----Iframe
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-30
小问题引来大思考
制作类似于fck编辑器,发现里面又到iframe,发现原来iframe是这样用的,真的适合自己日积月累啊!呵呵 1、调用 调用不是document.getElementById('fck'),而是,window.frames['f'],以前没有接触,实在汗。。。。 2、可编辑状态: window.frames['f'].document.designMode='on';,居然还可以编辑,又是汗。。。 3、获取内容: var b=window.frames['f'].document.getElementsByTagName('body')[0]; alert(b.innerHTML); 4、问题: function fck() { // document.getElementById('fck').document.designMode='on'; window.frames['f'].document.designMode='on'; window.frames['f'].document.canHaveHTML=true; try{ var b=window.frames['f'].document.getElementsByTagName('body')[0]; //alert(b); alert(b.innerHTML); }catch(e) { } } </script> 下面用button要点击二次后,才能正确,实在不知为何,只能在窗体加载时先调用一次如: <body onload="fck()"> <iframe id="f" src="context.html"></iframe> <input type="button" onclick="fck()" value="获取frame的值"/> </body> 这样解决了,但是怪怪的,各位仁兄有没有更高的办法呢。。。 同时,非IE获取iframe是不是:window.frames["frameName"].document? 高手莫笑。。。。。。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-05-30
要注意IE和FF中对IFRAME访问的不同。
|
|
返回顶楼 | |
发表时间:2008-05-30
stworthy 写道 要注意IE和FF中对IFRAME访问的不同。 谢谢提醒,现在正在考虑这个问题,呵呵 |
|
返回顶楼 | |
发表时间:2008-05-30
仁兄,怎么解决在FF中获取Iframe啊?
|
|
返回顶楼 | |
发表时间:2008-06-02
不能跨域,自娱自乐?
|
|
返回顶楼 | |
发表时间:2008-06-02
IE可以用document.frames["frameName"]
FF必须用document.getElementById("frameName").contentWindow |
|
返回顶楼 | |
发表时间:2008-06-02
stworthy 写道 要注意IE和FF中对IFRAME访问的不同。
一样的 只要用name来访问就行了 如window.top.ifrm.document 不要用括号 |
|
返回顶楼 | |
发表时间:2008-06-17
不管哪个浏览器访问iframe,直接frames['framename'].document,就可以了吧,至少我一直这么写的没有发现有什么问题;
至于跨域的问题可以让iframe中的document.domain和父页面中的document.domain设置一样; IE下将页面设置成可编辑状态是document.body.contentEditable = true; 非IE的浏览器是document.designMode="on"; |
|
返回顶楼 | |