在IE6下发生Internet Explorer cannot open the Internet site错误


Posted in Javascript onJune 21, 2010

具体出现的情况是这样的:

在页面还没有完全加载的情况下,鼠标点击触发了一个生成iFrame的脚本事件。
先是想到,将脚本事件,在页面加载完全后,再动态添加到触发的位置,这样,页面加载完全之前,这里是不会有脚本事件的,自然也不会报错。

以上办法有些被动,于是去参看生成iframe的脚本。

正常的页面结构是

<body> 
<form> 
........ 
</form> 
</body>

生成iframe的脚本是:
function CreateiFrame(){ 
var objBody = document.getElementsByTagName("body").item(0); 

var objiFrame = document.createElement("iframe"); 

objBody.appendChild(objiFrame); 
}

appendChild() 方法,在节点的子节点列表末添加新的子节点。所以创建iframe后的DOM为:
<body> 
<form> 
........ 
</form> 
<iframe> 
........ 
</iframe> 
</body>

因为是在<form>还没有加载完全的情况下,创建了<iframe>,所以在IE6下就出现了页面错误。
相信在看到这里的时候,已经发现了解决的办法:将<iframe>创建在<form>之前的话,就没有问题了!
那么,我们就需要用到另外一个添加元素的方法 insertBefore():
function CreateiFrame(){ 
var objBody = document.getElementsByTagName("body").item(0); 
var objiFrame = document.createElement("iframe"); 
objBody.insertBefore(objiFrame,document.getElementById("form1")); //form1为form的id 
}

insertBefore() 方法,在节点的子节点列表任意位置插入新的节点。
insertBefore有2个参数可以设置,第一个是和appendChild相同的;第二可以为null,效果等同于insertBefore() 方法,也可以为指定需要在哪个子节点之前插入新子节点。
<body> 
<iframe> 
........ 
</iframe> 
<form id“form1”> 
........ 
</form> 
</body>
Javascript 相关文章推荐
js 实现浏览历史记录示例
Apr 20 Javascript
js获取元素相对窗口位置的实现代码
Sep 28 Javascript
JavaScript中number转换成string介绍
Dec 31 Javascript
微信小程序 navigation API实例详解
Oct 02 Javascript
javascript设计模式之模块模式学习笔记
Feb 15 Javascript
详解在Vue中通过自定义指令获取dom元素
Mar 04 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
Mar 10 Javascript
jquery实现提示语淡入效果
May 05 jQuery
Centos6.8下Node.js安装教程
May 12 Javascript
浅谈webpack SplitChunksPlugin实用指南
Sep 17 Javascript
vue实现拖拽的简单案例 不超出可视区域
Jul 25 Javascript
js+css3实现炫酷时钟
Aug 18 Javascript
复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题
Jun 21 #Javascript
js操作时间(年-月-日 时-分-秒 星期几)
Jun 20 #Javascript
用JavaScript玩转游戏物理(一)运动学模拟与粒子系统
Jun 19 #Javascript
一段批量给页面上的控件赋值js
Jun 19 #Javascript
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
Jun 19 #Javascript
高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现
Jun 19 #Javascript
WEB高性能开发之疯狂的HTML压缩
Jun 19 #Javascript
You might like
操作Oracle的php类
2006/10/09 PHP
vs中通过剪切板循环来循环粘贴不同内容
2011/04/30 PHP
PHP stream_context_create()函数的使用示例
2015/05/12 PHP
PHP版本常用的排序算法汇总
2015/12/20 PHP
PDO::quote讲解
2019/01/29 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
2019/09/29 PHP
js实现右下角可关闭最小化div(可用于展示推荐内容)
2013/06/24 Javascript
加随机数引入脚本不让浏览器读取缓存
2014/09/04 Javascript
jQuery拖动元素并对元素进行重新排序
2015/12/30 Javascript
JS与jQuery实现隔行变色的方法
2016/09/09 Javascript
JavaScript实现汉字转换为拼音的库文件示例
2016/12/22 Javascript
JavaScript 详解预编译原理
2017/01/22 Javascript
深入理解js中的加载事件
2017/02/08 Javascript
ionic 3.0+ 项目搭建运行环境的教程
2017/08/09 Javascript
Angular简单验证功能示例
2017/12/22 Javascript
Vue结合Video.js播放m3u8视频流的方法示例
2018/05/04 Javascript
Vue微信项目按需授权登录策略实践思路详解
2018/05/07 Javascript
微信小程序template模板与component组件的区别和使用详解
2019/05/22 Javascript
vue中选中多个选项并且改变选中的样式的实例代码
2020/09/16 Javascript
Ant design vue中的联动选择取消操作
2020/10/31 Javascript
[53:10]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs VG 第一场
2018/04/11 DOTA
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
使用python Django做网页
2013/11/04 Python
PyCharm代码格式调整方法
2018/05/23 Python
浅谈python常用程序算法
2019/03/22 Python
Python超越函数积分运算以及绘图实现代码
2019/11/20 Python
连卡佛中国官网:Lane Crawford中文站
2018/01/27 全球购物
俄罗斯女装店:12storeez
2019/10/25 全球购物
乡镇领导干部个人对照检查材料思想汇报
2014/09/23 职场文书
九寨沟导游词
2015/02/02 职场文书
惹女朋友生气检讨书
2015/05/06 职场文书
贷款工资证明范本
2015/06/12 职场文书
毕业晚宴祝酒词
2015/08/11 职场文书
中考百日冲刺决心书
2015/09/22 职场文书
如何拟写通知正文?
2019/04/02 职场文书
ObjectMapper 如何忽略字段大小写
2021/06/29 Java/Android