在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 SpiderMonkey中的函数序列化如何进行
Dec 05 Javascript
弹出窗口并且此窗口带有半透明的遮罩层效果
Mar 13 Javascript
JS 弹出层 定位至屏幕居中示例
May 21 Javascript
JavaScript实现网页截图功能
Oct 16 Javascript
javascript为按钮注册回车事件(设置默认按钮)的方法
May 09 Javascript
深入理解JavaScript中的预解析
Jan 04 Javascript
解决AngualrJS页面刷新导致异常显示问题
Apr 20 Javascript
源码分析Vue.js的监听实现教程
Apr 23 Javascript
微信小程序之多文件下载的简单封装示例
Jan 29 Javascript
微信小程序基于movable-view实现滑动删除效果
Jan 08 Javascript
在Echarts图中给坐标轴加一个标识线markLine
Jul 20 Javascript
详解CocosCreator项目结构机制
Apr 14 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
Thinkphp事务操作实例(推荐)
2017/04/01 PHP
PHP注释语法规范与命名规范详解篇
2018/01/21 PHP
thinkphp5.0整合phpsocketio完整攻略(绕坑)
2018/10/12 PHP
Gambit vs ForZe BO3 第三场 2.13
2021/03/10 DOTA
Javascript算符的优先级介绍
2013/03/20 Javascript
Javascript 颜色渐变效果的实现代码
2013/10/01 Javascript
js中判断用户输入的值是否为空的简单实例
2013/12/23 Javascript
JQuery 图片滚动轮播示例代码
2014/03/24 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
JavaScript 实现完美兼容多浏览器的复制功能代码
2015/04/28 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
node.js发送邮件email的方法详解
2017/01/06 Javascript
基于BootStrap的前端分页带省略号和上下页效果
2017/05/18 Javascript
JavaScript解析JSON数据示例
2019/07/16 Javascript
vue 对axios get pust put delete封装的实例代码
2020/01/05 Javascript
Angular利用HTTP POST下载流文件的步骤记录
2020/07/26 Javascript
ElementUI 修改默认样式的几种办法(小结)
2020/07/29 Javascript
解决pycharm双击但是无法打开的情况
2020/10/31 Javascript
在Python中处理列表之reverse()方法的使用教程
2015/05/21 Python
Python的Django框架中使用SQLAlchemy操作数据库的教程
2016/06/02 Python
python+requests+unittest API接口测试实例(详解)
2017/06/10 Python
python中使用print输出中文的方法
2018/07/16 Python
Python装饰器模式定义与用法分析
2018/08/06 Python
对python中的try、except、finally 执行顺序详解
2019/02/18 Python
pytest中文文档之编写断言
2019/09/12 Python
用Python绘制漫步图实例讲解
2020/02/26 Python
Python3 assert断言实现原理解析
2020/03/02 Python
加拿大知名的国际儿童品牌:Hatley
2016/11/09 全球购物
Kathmandu英国网站:新西兰户外运动品牌
2017/03/27 全球购物
万豪国际住宅与别墅集团:Homes & Villas by Marriott International
2020/10/08 全球购物
Python如何定义一个函数
2015/09/01 面试题
学生发电厂实习自我鉴定
2013/09/22 职场文书
服务中心夜班服务员岗位职责
2013/11/27 职场文书
党支部反对四风思想汇报
2014/10/10 职场文书
Java中PriorityQueue实现最小堆和最大堆的用法
2021/06/27 Java/Android
JS创建或填充任意长度数组的小技巧汇总
2021/10/24 Javascript