如何在解决方案中查找和替换依赖于 IE 的 JavaScript 的所有实例?



所以,我的任务是维护一个遗留的应用程序,并试图让它跨浏览器。 我偶然发现了这样的帖子(Javascript:在没有getElementById的情况下访问DOM元素),这些帖子阐明了我遇到的问题。

也就是说,在IE中,你可以使用DOM中的元素,只需通过它的ID调用它。 这是非标准的,但它有效。 显然,当你转到Chrome或Firefox的那一刻,旧代码都不再有效,因为Chrome或FF依赖于您使用getElementByID之类的东西(这是正确的,基于标准的方式)。

此应用程序还使用 document.all 之类的东西来查找某些控件是否存在,如果存在,则使用它们。这一切都发生在没有getElementByID的情况下。

那么,有没有一种简单的方法可以找到这种依赖于IE的代码,以便我可以将其剥离并替换为更现代的代码?还是真的不是?

谢谢!

编辑:

所以,这是现有JS中的一些代码

for (var i = 0; i < grdPreviousEpisode.rows.length; i++)
... 
}

现在,grdPreviousEpisode 是一个 GridView(在 Web 窗体中)。 这表现为 HTML 表。 这段代码没有使用"getElementById"函数来"以正确的方式"将其从 DOM 中拉出来。 它依赖于IE在没有可见JS变量时将项目从DOM中传递出去的糟糕方式。

此代码中可能还有其他区域专门依赖于依赖于IE的hack,我不想手动查找/替换这些东西。 这有意义吗?

如果我理解正确,您想搜索并替换项目文件夹中的所有文件。我能想到的几种方法

  1. 将项目导入到 IDE(如 netbeans)中:搜索和替换整个项目 (Netbeans)
  2. 使用注释++。按 control+f -> 在文件中查找。在过滤器中输入"*.js">
  3. 如果你在 Linux 环境中,请使用 grep

最新更新