Google chrome extension chrome扩展能否用于修补浏览器兼容性问题?

Google chrome extension chrome扩展能否用于修补浏览器兼容性问题?,google-chrome-extension,Google Chrome Extension,我们有一个遗留应用程序,它当时只在Internet Explorer上工作。它不适用于chrome或任何其他应用程序。原因是它广泛使用了ActiveXObject。由于ActiveXObject在非IE浏览器中不可用,因此应用程序无法渲染。 我想知道是否可以开发一个chrome扩展,它可以在页面加载时修补脚本,然后再次只引导javascript。 我尝试了很多谷歌搜索,想找到一个像样的解释,但运气不好。 这里有人有开发chrome扩展的经验吗?我的想法可以实现吗?我不这么认为-一般来说,扩展中的

我们有一个遗留应用程序,它当时只在Internet Explorer上工作。它不适用于chrome或任何其他应用程序。原因是它广泛使用了ActiveXObject。由于ActiveXObject在非IE浏览器中不可用,因此应用程序无法渲染。 我想知道是否可以开发一个chrome扩展,它可以在页面加载时修补脚本,然后再次只引导javascript。 我尝试了很多谷歌搜索,想找到一个像样的解释,但运气不好。
这里有人有开发chrome扩展的经验吗?我的想法可以实现吗?

我不这么认为-一般来说,扩展中的Javascript代码不能直接与页面上的Javascript代码交互,因此您不能直接修改它,因此如果您的计划是这样的,它就不会使用ActiveX。它们共享一个DOM,但不共享一个执行环境。请查看文档:

内容脚本在称为隔离脚本的特殊环境中执行 世界。他们可以访问所注入页面的DOM, 但不适用于页面创建的任何JavaScript变量或函数。 对于每个内容脚本,它看起来就像没有其他JavaScript一样 在运行它的页面上执行。反之亦然: 页面上运行的JavaScript无法调用任何函数或访问任何 由内容脚本定义的变量


Chrome不支持ActiveX,所以这也限制了你很多。在您的情况下,如果可能的话,更好的选择可能是重写旧应用程序,使其不使用ActiveX。

如果chrome本机不支持ActiveX,则即使在chrome扩展中也无法使用它。这是真的,但原因不正确。通过注入脚本,扩展可以共享相同的执行环境。啊,你说得对——内容脚本不起作用,但你可以将脚本标记注入到修补遗留代码的某些资源中。这是一个很好的观点,实际上,它有点凌乱,但它确实有效,我甚至自己做过,因为它是…嗯需要的。但我认为在这种特殊情况下,重写遗留应用程序更有意义,因为这是一种选择。