「IE6升级提示」通用JS的一些问题记录
1、解决gb2312页面下调用utf-8页面的js,显示乱码!
我的JS采用utf-8编码,解决方法:在调用JS时 加上charset="UTF-8"
另如果utf-8页面调用gb2312的JS,则charset="gb2312"
2、加上我的JS代码后IE6提示出错信息“Internet Explorer无法打开Internet 站点...已终止操作”,并完全无法打开网站。原来是因为网站还没有加载完成,而使用了insertBefore,百度一下果然有大神早就指出“insertBefore、appendChild或者innerHTML”不能在加载完成前使用,并给出二种解决方法。
(1)在appendChild或者innerHTML操作处判断document.readyState=="complete", 若为否,则setTimeout若干秒之后重新作这个操作。
但是,此属性只对ie,opeara有效,ff的document没有readyState属性,永远是undefined.
(2)在script中使用defer属性。意在页面加载完毕后再执行脚本,这样可以避免找不到对象的问题。defer不会考虑外部文件是否全部下载完,只会判当前页面是否全部加载完成。并且,有defer标签的代码块里不能写document.write方法