Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript-如何为其他浏览器添加对document.all的支持?_Javascript - Fatal编程技术网

JavaScript-如何为其他浏览器添加对document.all的支持?

JavaScript-如何为其他浏览器添加对document.all的支持?,javascript,Javascript,我有一堆旧的Javascript代码,其中文档。所有的都被使用了。现在,我需要找到一种方法,用document.getElementById替换document.all。我可以做些什么来封装文档.all,这样它就可以调用第二个函数了吗?或者我需要编辑所有文件吗?从长远来看,如果你只是替换了它,那会容易得多。不要低估文本编辑器的查找/替换功能,只要咬紧牙关,将其替换即可文档。所有的已经过时很长时间了。@RocketHazmat-一些现代浏览器确实实现了文档。所有的都是为了向后兼容。但并不是所有的,

我有一堆旧的Javascript代码,其中
文档。所有的
都被使用了。现在,我需要找到一种方法,用
document.getElementById
替换
document.all
。我可以做些什么来封装
文档.all
,这样它就可以调用第二个函数了吗?或者我需要编辑所有文件吗?

从长远来看,如果你只是替换了它,那会容易得多。不要低估文本编辑器的查找/替换功能,只要咬紧牙关,将其替换即可<代码>文档。所有的
已经过时很长时间了。@RocketHazmat-一些现代浏览器确实实现了
文档。所有的
都是为了向后兼容。但并不是所有的,他们通常试图通过假装它不存在来限制它的使用,如果你试图用功能检测它(他们必须这么做,因为很多老网站都用检测
文档。所有的
来检测IE,而你不想让你所有的IE特定黑客都在Chrome上运行)@Spudley:这很奇怪<代码>!文档。所有
在Chrome中均为
true
。所以它假装它不存在:)@RocketHazmat奇怪的是,
类型的文档。所有
在Chrome中都是“未定义”的,这似乎是。那么像
document.all['header']
这样的用法呢?(上面我指的是作为id或名称的“header”,而不是标记名)
if (!document.all) {
    document.constructor.prototype.__defineGetter__('all', function() { 
        return document.getElementsByTagName('*'); 
    }); 
}