我在一个已经为IE编码的网站上有一个脚本。我无法编辑原始脚本,所以我试图通过js和Jquery(使用Chrome插件)来改变它。
该脚本使用下一行向HTML表中添加行,但在Chrome中出现错误:
document.all.tbl.rows(i);
经过一些研究后我发现这是一个仅在IE中使用的功能。在Chrome中,使用了一个数组。
因此,所有这些行都应改为:
document.all.tbl.rows[i]
rows[i].cells()
也出现同样的问题。
我已尝试将数组移至rowsData
并将rows
覆盖为从rowsData
检索数据的函数。
document.all.tbl.rowsData = document.all.tbl.rows; // This seems to work
document.all.tbl.rows = function(id) {
console.log('This function is used');
}
在使用Chrome的devtools检查后,我发现rowsData确实包含行的副本,但行仍然是一个数组。使用document.all.tbl.rows()
时,我仍会遇到同样的错误:
未捕获的TypeError:document.all.tbl.rows不是函数
唯一的另一个选择是替换整个函数(这个函数很长,而不是首选,因为它总是有可能改变)。
我猜测覆盖浏览器变量是不可能的。 有什么方法可以让我的工作吗?