可以更改Web浏览器中使用的JavaScript引擎吗?
一些其他信息:
为了测试移动应用程序,我希望能够模拟Web浏览器使用的确切JavaScript引擎来查找错误。
如果无论如何要改变浏览器(如Chrome)中使用的javascript引擎,还是需要构建自己的浏览器?
有许多开源浏览器。理论上可以替换他们使用的JavaScript引擎并编译自己的可执行文件。实际上,许多浏览器在历史记录中都改变了引擎。
您可能需要对API进行更改才能使它们兼容。
当然,没有办法从JavaScript做到这一点。
通常,给定的浏览器附带一个JavaScript引擎。不需要随附多个引擎,因为如果引擎需要其他功能,它们只会被添加到浏览器附带的引擎中。
我可能会看到模块化Web浏览器的存在,需要插入与主程序分开的JS引擎(这可能导致用户在他们的机器上有多个JS引擎),但我知道没有这样的浏览器,因此知道JS不能用来交换引擎。
我想你可以在JavaScript中实现EMCAScript,但这似乎是一个巨大的麻烦。
回答您对问题的编辑:我相信Chrome Dev Tools' mobile emulation会为您提供您想要的而不是您所要求的。
这是一个有趣的功能。我想在Chrome浏览器而不是V8中测试Safari Javascriptcore引擎。因为我注意到我的一些角度代码在JavascriptCore引擎上没有正确呈现,并且在其他浏览器上正确呈现。当您在ios设备上发现一些错误并且附近没有mac设备时,它会派上用场。
UPD
我找到了可以改变浏览器引擎lunascape和avant的浏览器。这些浏览器是三引擎浏览器,您可以在引擎之间切换。