旧的JavaScript函数使浏览器崩溃
Old JavaScript Function Crashes Browser
我正在将一个mootools脚本集成到一个页面上,该页面具有运行导航垂直菜单的非常古老的JavaScript函数。这个旧剧本现在很难改变。
换行符为:
function stgobj(id) {
with(document) return nIE && nVER < 5 ? all[id] : nNN4 ? layers[id] : getElementById(id);
}
不确定它的目的是什么,但看起来它正在渲染一些元素。如果注释,菜单将消失。
FF,Chrome,IE(不会崩溃,但菜单不会呈现)
有什么快速补丁来解决浏览器崩溃吗?
看起来它的目的是返回与给定 ID 对应的元素。代码只是使用一些基于浏览器的不同方法 - document.all
适用于IE5及更早版本,document.layers
适用于Netscape 4。除非你需要支持那些古老的浏览器,否则你可以更改函数以只返回document.getElementById(id)
。或者更好的是,完全放弃这个函数并直接调用document.getElementById
。
但是,如果它崩溃了像Firefox和Chrome这样的现代浏览器,那么你还应该看看浏览器检测逻辑(填充nIE
,nVER
和nNN4
变量的代码),否则它最终可能会在其他地方崩溃。
它是document.getElementById
的"兼容性"函数。我想你应该能够等于它:
stgobj = document.getElementById.bind(document);
相关文章:
- 为什么这会造成一个无休止的循环并使我的浏览器崩溃
- javascript audio currentTime使一些浏览器崩溃
- 在浏览器崩溃之前检测到内存耗尽
- 输入输入前浏览器崩溃
- three.js内存泄漏/浏览器崩溃
- Ajax 请求仪表板页面上的浏览器崩溃
- set超时在“while”内会导致浏览器崩溃.我怎样才能避免它
- 设置设置间隔函数正在运行并导致浏览器崩溃
- 高效的Javascript组合函数,不会使浏览器崩溃
- 我的脚本使浏览器崩溃
- SlickGrid在选择大范围的行时使浏览器崩溃
- setInterval 在运行用户脚本时使我的浏览器崩溃
- 添加依赖项后浏览器崩溃
- Javascript/Jquery代码使我的浏览器崩溃
- 无限滚动会导致浏览器崩溃吗?
- 为什么这 while 循环会使浏览器崩溃
- 设置间隔导致浏览器崩溃
- JavaScript函数使我的浏览器崩溃
- 旧的JavaScript函数使浏览器崩溃
- 如何使用 IndexedDB 制作一个很长的字符串而不会使浏览器崩溃