在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获取GridView中用户点击控件的行号,列号
Apr 14 Javascript
javascript 常用方法总结
Jun 03 Javascript
新浪微博字数统计 textarea字数统计实现代码
Aug 28 Javascript
鼠标经过显示二级菜单js特效
Aug 13 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
Oct 18 Javascript
jQuery Easyui使用(二)之可折叠面板动态加载无效果的解决方法
Aug 17 Javascript
详解VUE 数组更新
Dec 16 Javascript
详解vue-cli中模拟数据的两种方法
Jul 03 Javascript
详解基于vue-cli3.0如何构建功能完善的前端架子
Oct 09 Javascript
解决vue移动端适配问题
Dec 12 Javascript
Vue多环境代理配置方法思路详解
Jun 21 Javascript
基于js实现数组相邻元素上移下移
May 19 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循环语句 for()与foreach()用法区别介绍
2012/09/05 PHP
PHP实现HTTP断点续传的方法
2015/06/17 PHP
PHP基于文件存储实现缓存的方法
2015/07/20 PHP
深入剖析浏览器退出之后php还会继续执行么
2016/05/17 PHP
php求数组全排列,元素所有组合的方法总结
2017/03/14 PHP
PHP连接sftp并下载文件的方法教程
2018/08/26 PHP
JavaScript 判断指定字符串是否为有效数字
2010/05/11 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
2013/09/03 Javascript
Javascript selection的兼容性写法介绍
2013/12/20 Javascript
JS修改iframe页面背景颜色的方法
2015/04/01 Javascript
jquery过滤特殊字符',防sql注入的实现方法
2016/08/17 Javascript
基于jQuery实现中英文切换导航条效果
2016/09/18 Javascript
js生成随机颜色方法代码分享(三种)
2016/12/29 Javascript
jQuery实现表格元素动态创建功能
2017/01/09 Javascript
JavaScript获取键盘按键的键码(参照表)
2017/01/10 Javascript
jquery表单验证实例仿Toast提示效果
2017/03/03 Javascript
通过学习bootstrop导航条学会修改bootstrop颜色基调
2017/06/11 Javascript
javascript定时器取消定时器及优化方法
2017/07/08 Javascript
axios的拦截请求与响应方法
2018/08/11 Javascript
JavaScript时间与时间戳的转换操作实例分析
2018/12/07 Javascript
vue keep-alive 动态删除组件缓存的例子
2019/11/04 Javascript
vant 自定义 van-dropdown-item的用法
2020/08/05 Javascript
全面解析js中的原型,原型对象,原型链
2021/01/25 Javascript
在Python下利用OpenCV来旋转图像的教程
2015/04/16 Python
python opencv实现运动检测
2018/07/10 Python
将pip源更换到国内镜像的详细步骤
2019/04/07 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
2019/10/11 Python
python 实现dict转json并保存文件
2019/12/05 Python
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
2016/02/10 面试题
DBA的职责都有哪些
2012/05/16 面试题
给民警的表扬信
2014/01/08 职场文书
奠基仪式策划方案
2014/05/15 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
初中地理教学反思
2016/02/19 职场文书
奥特曼十大神器:奥特手镯在榜,第一是贝利亚的神器
2022/03/18 日漫
Python OpenCV之常用滤波器使用详解
2022/04/07 Python