IE的document.all.table.rows()'function'

时间:2017-05-15 22:21:17

标签: javascript internet-explorer google-chrome-extension html-table

我在一个已经为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不是函数

唯一的另一个选择是替换整个函数(这个函数很长,而不是首选,因为它总是有可能改变)。

我猜测覆盖浏览器变量是不可能的。 有什么方法可以让我的工作吗?

0 个答案:

没有答案