在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 相关文章推荐
javascript 单选框,多选框美化代码
Aug 01 Javascript
Javascript访问器属性实例分析
Dec 30 Javascript
理解JavaScript中worker事件api
Dec 25 Javascript
必备的JS调试技巧汇总
Jul 20 Javascript
JS出现失效的情况总结
Jan 20 Javascript
原生JS实现简单放大镜效果
Feb 08 Javascript
Vue如何引入远程JS文件
Apr 20 Javascript
详解Angular路由 ng-route和ui-router的区别
May 22 Javascript
浅谈Vue组件及组件的注册方法
Aug 24 Javascript
浅谈webpack4 图片处理汇总
Sep 12 Javascript
JavaScript字符和ASCII实现互相转换
Jun 03 Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
Jul 27 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
并发下常见的加锁及锁的PHP具体实现代码
2010/10/12 PHP
php中解析带中文字符的url函数分享
2015/01/20 PHP
Codeigniter校验ip地址的方法
2015/03/21 PHP
php去掉文件前几行的方法
2015/07/29 PHP
php求数组全排列,元素所有组合的方法
2016/05/05 PHP
PHP面向对象程序设计OOP继承用法入门示例
2016/12/27 PHP
PHP使用数组实现矩阵数学运算的方法示例
2017/05/29 PHP
jQuery EasyUI API 中文文档 - ComboGrid 组合表格
2011/10/13 Javascript
Javascript变量作用域详解
2013/12/06 Javascript
用jquery的方法制作一个简单的导航栏
2014/06/23 Javascript
javascript自动恢复文本框点击清除后的默认文本
2016/01/12 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
AngularJS ng-mousedown 指令
2016/08/02 Javascript
mac上node.js环境的安装测试
2017/07/03 Javascript
vue router 用户登陆功能的实例代码
2019/04/24 Javascript
[05:42]DOTA2英雄梦之声_第10期_蝙蝠骑士
2014/06/21 DOTA
Python中的闭包详细介绍和实例
2014/11/21 Python
Python遍历目录的4种方法实例介绍
2015/04/13 Python
Python实现计算文件夹下.h和.cpp文件的总行数
2015/04/23 Python
举例讲解Python编程中对线程锁的使用
2016/07/12 Python
Python cookbook(数据结构与算法)保存最后N个元素的方法
2018/02/13 Python
Python装饰器原理与用法分析
2018/04/30 Python
TFRecord格式存储数据与队列读取实例
2020/01/21 Python
python百行代码自制电脑端网速悬浮窗的实现
2020/05/12 Python
Python requests接口测试实现代码
2020/09/08 Python
借助HTML5 Canvas来绘制三角形和矩形等多边形的方法
2016/03/14 HTML / CSS
全球游戏Keys和卡片市场:GamesDeal
2018/03/28 全球购物
JACK & JONES荷兰官网:男士服装和鞋子
2021/03/07 全球购物
日语专业推荐信
2013/11/12 职场文书
九年级物理教学反思
2014/01/29 职场文书
工商干部先进事迹
2014/05/14 职场文书
工伤事故赔偿协议书(标准)
2014/09/29 职场文书
六查六看六改心得体会
2014/10/14 职场文书
运动员代表致辞
2015/07/29 职场文书
2016机关干部作风建设心得体会
2016/01/21 职场文书
Python实现数据的序列化操作详解
2022/07/07 Python