为PhantomJS绑定polyfill

为PhantomJS绑定polyfill,phantomjs,es5-shim,Phantomjs,Es5 Shim,我正在尝试使用es5-shim.js在我的phantomjs文件中添加bind polyfill 我曾尝试使用require()包含es5-shim.js,但在执行phantomjs文件时仍然出现错误。正确的使用方法是什么?我尝试了polyfill,它似乎对我很好 请注意,phantomjs脚本在WebKit的引擎(使用ES5)中运行,因此这些函数中的大多数都应该是现成的 D:\>phantomjs.exe phantomjs> console.log(Object.keys) f

我正在尝试使用es5-shim.js在我的phantomjs文件中添加bind polyfill

我曾尝试使用require()包含es5-shim.js,但在执行phantomjs文件时仍然出现错误。正确的使用方法是什么?

我尝试了polyfill,它似乎对我很好

请注意,phantomjs脚本在WebKit的引擎(使用ES5)中运行,因此这些函数中的大多数都应该是现成的

D:\>phantomjs.exe

phantomjs> console.log(Object.keys)
function keys() {
    [native code]
}
undefined

phantomjs> var shim = require("D:\\es5-shim.js");
undefined

phantomjs> console.log(Object.keys)
function keys(object) {
        if (isArguments(object)) {
            return originalKeys(ArrayPrototype.slice.call(object));
        } else {
            return originalKeys(object);
        }
    }

检查是否有一些关于可以用来处理它的多边形填充的建议。我只需要使用
require('./lib/es5 shim.js')这对我很有效。我使用的垫片可以找到,谢谢你给我指出该垫片的链接!你是一个绝对安全的人!嘿@steven,或者任何人:我正在通过SeleniumWebDriver和python绑定实现phantomJS。如何添加此垫片,以便将其包含在PJS webriver实例的整个会话中?我的webdriver实例没有“require”方法,很难用谷歌搜索:-)。这似乎不值得提出一个新的SO问题,但令我沮丧的是,我离解决这个问题太近了,但似乎无法实现解决方案。我不太熟悉,但我猜测,由于这运行的是Selenium设计的webdriver协议(早在PhantomJS之前),与PhantomJS embedded JavaScriptCore引擎没有交互,所有命令都直接发送到充当浏览器的Webkit实例。我想我会这样做,但我仍然不清楚如何/在何处插入垫片。请帮助。我基本上是说,除非您通过命令行直接使用PhantomJS,否则您不能。