论坛首页 AJAX版 JavaScript

js动态创建iframe的问题

浏览 1669 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2008-04-18
有没有人做过用js动态的创建iframe,然后向里面append DOM元素、JS函数,



我试过 <iframe src="javascript:document.open();document.write('<script></script><div>test</div>');document.close();"></iframe>



这样只能将div元素载入进去,JS元素却不行



不知道有哪位有这方面的经验
   
最后更新时间:2008-04-18
<iframe id="tst" src="javascript:false"></iframe>
<script>
var cw = window.frames['tst'];
cw.document.open();
cw.document.write('<script>alert("test")<' + '/script>');
cw.document.write('<div>test</div>');
cw.document.close();
</script>


IE下测试通过,FF下没通过,楼主去自己找下资料 
   
0 请登录后投票
最后更新时间:2008-04-19
冯冀川 写道
有没有人做过用js动态的创建iframe,然后向里面append DOM元素、JS函数,



我试过 <iframe src="javascript:document.open();document.write('<script></script><div>test</div>');document.close();"></iframe>



这样只能将div元素载入进去,JS元素却不行



不知道有哪位有这方面的经验

不知所云,你的iframe可不是动态创建的。
再说你的代码是可以在script写js代码的。
   
0 请登录后投票
最后更新时间:2008-04-19
HexUzHoNG 写道
<iframe id="tst" src="javascript:false"></iframe>
<script>
var cw = window.frames['tst'];
cw.document.open();
cw.document.write('<script>alert("test")<' + '/script>');
cw.document.write('<div>test</div>');
cw.document.close();
</script>


IE下测试通过,FF下没通过,楼主去自己找下资料 


谢谢 HexUzHoNG ~ 
这样在FF页面也是可以通过的

但是我想js以src的方式引入,却会把IE搞死
cw.document.write('<script language="javascript" src="url.js"><' + '/script>');
而且这样的调用也不存在跨域的问题,FF下却是可以通过的

不确定是什么原因,难道这两种方式对JS的创建不一样?
   
0 请登录后投票
最后更新时间:2008-04-19
letle 写道
冯冀川 写道
有没有人做过用js动态的创建iframe,然后向里面append DOM元素、JS函数,



我试过 <iframe src="javascript:document.open();document.write('<script></script><div>test</div>');document.close();"></iframe>



这样只能将div元素载入进去,JS元素却不行



不知道有哪位有这方面的经验

不知所云,你的iframe可不是动态创建的。
再说你的代码是可以在script写js代码的。




var s = '<iframe src="javascript:document.open();document.write(\'<script><\/script><div>test</div>\');document.close();"></iframe>';
document.getElementById(id).innerHTML = s;
这不就是动态创建的嘛。。。。。。。。

这个问题的主要目的,是想iframe的内容完全的在前端来实现,不想引入iframe的时候再向后台去请求一个页面
   
0 请登录后投票
最后更新时间:2008-04-28
冯冀川 写道
letle 写道
冯冀川 写道
有没有人做过用js动态的创建iframe,然后向里面append DOM元素、JS函数,



我试过 <iframe src="javascript:document.open();document.write('<script></script><div>test</div>');document.close();"></iframe>



这样只能将div元素载入进去,JS元素却不行



不知道有哪位有这方面的经验

不知所云,你的iframe可不是动态创建的。
再说你的代码是可以在script写js代码的。




var s = '<iframe src="javascript:document.open();document.write(\'<script><\/script><div>test</div>\');document.close();"></iframe>';
document.getElementById(id).innerHTML = s;
这不就是动态创建的嘛。。。。。。。。

这个问题的主要目的,是想iframe的内容完全的在前端来实现,不想引入iframe的时候再向后台去请求一个页面



晕!连innerHTML也懒得写,我怎么会知道你想做什么呢。
另外HexUzHoNG 的代码在firefox里是肯定出错的,firefox用window.frmmes[]访问的时候只认name属性。
加一个name=tst 就可以了。
你想加载一个js文件最好还是在采用http协议去调试,不要用file协议,iframe可能比较傻吧。
   
0 请登录后投票
最后更新时间:2008-05-06
letle 写道
冯冀川 写道
letle 写道
冯冀川 写道
有没有人做过用js动态的创建iframe,然后向里面append DOM元素、JS函数,



我试过 <iframe src="javascript:document.open();document.write('<script></script><div>test</div>');document.close();"></iframe>



这样只能将div元素载入进去,JS元素却不行



不知道有哪位有这方面的经验

不知所云,你的iframe可不是动态创建的。
再说你的代码是可以在script写js代码的。




var s = '<iframe src="javascript:document.open();document.write(\'<script><\/script><div>test</div>\');document.close();"></iframe>';
document.getElementById(id).innerHTML = s;
这不就是动态创建的嘛。。。。。。。。

这个问题的主要目的,是想iframe的内容完全的在前端来实现,不想引入iframe的时候再向后台去请求一个页面



晕!连innerHTML也懒得写,我怎么会知道你想做什么呢。
另外HexUzHoNG 的代码在firefox里是肯定出错的,firefox用window.frmmes[]访问的时候只认name属性。
加一个name=tst 就可以了。
你想加载一个js文件最好还是在采用http协议去调试,不要用file协议,iframe可能比较傻吧。

因为前段时间在看tiny_mce的代码,看它里面的iframe采用了前端的动态创建,而且这样做也能更好的解决iframe跨域的问题,所以也想这样尝试一下,不过在实际的应用中确实很少见这么创建iframe的~~
   
0 请登录后投票
论坛首页 AJAX版 JavaScript

跳转论坛:
JavaEye推荐