有些javascript代码在ie下有兼容问题,但不影响使用。
IE客户端的设置是可以关闭这些警告的,但是有没有办法不用客户端设置,直接在代码里阻止这些代码在IE下弹出的脚本错误警告窗口?
大家讲道理2017-04-10 12:45:02
window.onerror = function(){ window.console?console.log(arguments):return true; }
迷茫2017-04-10 12:45:02
如果想解决这个问题,需要在 HTML 文档编写的时候,把核心内容先写到 HTML 文档里,至于用 JavaScript 实现的内容,则是“渐进增强”,即假设用户禁用了 JavaScript ,核心内容依然能显示出来,只是不一定友好、方便。
了解渐进增强的想法,注意 HTML 文档的编写,这个展开来说,能说好多。
对于 JavaScript 脚本而言,则是“平稳退化”,即在保证了 HTML 文档能把核心内容显示出来的前提下, JavaScript 脚本对浏览器的支持情况进行检测,比如 document.getElementsByClass()
方法,在 IE6 里是不支持的,那这句就这样写:
(function demo1() {
if(!document.getElementsByClass) return false;
document.getElementsByClass("class1");
}());
如果能用其他效率较低,但是同样能获得需要控制的元素的办法,就把上面的改成分支语句,不支持新的方法就用旧的,低效率的方法;支持的话,就用新的。
推荐 《JavaScript DOM 编程艺术》