在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 相关文章推荐
google地图的路线实现代码
Aug 20 Javascript
自己实现string的substring方法 人民币小写转大写,数字反转,正则优化
Sep 02 Javascript
原生js实现复制对象、扩展对象 类似jquery中的extend()方法
Aug 30 Javascript
c#程序员对TypeScript的认识过程
Jun 19 Javascript
jquery 表单验证之通过 class验证表单不为空
Nov 02 Javascript
分离与继承的思想实现图片上传后的预览功能:ImageUploadView
Apr 07 Javascript
深入理解MVC中的时间js格式化
May 19 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
Mar 10 Javascript
yarn的使用与升级Node.js的方法详解
Jun 04 Javascript
Angularjs上传图片实例详解
Aug 06 Javascript
在微信小程序中使用图表的方法示例
Apr 25 Javascript
泛谈JS逻辑判断选择器 || &amp;&amp;
May 24 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
Protoss热键控制
2020/03/14 星际争霸
php批量缩放图片的代码[ini参数控制]
2011/02/11 PHP
php 随机排序广告的实现代码
2011/05/09 PHP
ThinkPHP3.1查询语言详解
2014/06/19 PHP
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
php构造函数与析构函数
2016/04/23 PHP
php  单例模式详细介绍及实现源码
2016/11/05 PHP
求解开jscript.encode代码的asp函数
2007/02/28 Javascript
javascript contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2010/02/04 Javascript
基于jquery的分页控件(C#)
2011/01/06 Javascript
jQuery获得内容和属性示例代码
2014/01/16 Javascript
JS根据年月获得当月天数的实现代码
2014/07/03 Javascript
jQuery创建自定义的选择器用以选择高度大于100的超链接实例
2015/03/18 Javascript
关于JS 预解释的相关理解
2016/06/28 Javascript
Popup弹出框添加数据实现方法
2017/10/27 Javascript
如何解决webpack-dev-server代理常切换问题
2019/01/09 Javascript
vue中在vuex的actions中请求数据实例
2019/11/08 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
2020/08/04 Javascript
Vue左滑组件slider使用详解
2020/08/21 Javascript
[02:23]完美世界全国高校联赛街访DOTA2第一期
2019/11/28 DOTA
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
tensorflow实现加载mnist数据集
2018/09/08 Python
python深copy和浅copy区别对比解析
2019/12/26 Python
html5中 media(播放器)的api使用指南
2014/12/26 HTML / CSS
h5封装下拉刷新
2020/08/25 HTML / CSS
我的applet原先好好的, 一放到web server就会有问题,为什么?
2016/05/10 面试题
如何用SQL语句进行模糊查找
2015/09/25 面试题
可以使用抽象函数重写基类中的虚函数吗
2013/06/02 面试题
内业资料员岗位职责
2014/01/04 职场文书
《问银河》教学反思
2014/02/19 职场文书
销售队伍口号
2014/06/11 职场文书
2014年企业团支部工作总结
2014/12/10 职场文书
材料员岗位职责
2015/02/10 职场文书
2015年社区居委会工作总结
2015/05/18 职场文书
比赛主持人开场白
2015/05/29 职场文书
Python数组变形的几种实现方法
2022/05/30 Python