Math.log10 在 PhantomJS 中是 undefined/available
Math.log10 is undefined/available in PhantomJS
TypeError: undefined is not a function (evaluating 'Math.log10(10)')
无法更改项目源码怎么解决?
我可以更改 PhantomJS 脚本的代码。
这个问题可以由 部分回答。不同之处在于将解决方案注入代码的正确方法。
如果页面需要此功能,您可以轻松添加。例如使用 polyfill as provided by MDN.
必须尽早应用 polyfill。这是通过注册到 page.onInitialized
事件处理程序来完成的:
page.onInitialized = function(){
page.evaluate(function(){
Math.log10 = Math.log10 || function(x) {
return Math.log(x) / Math.LN10;
};
});
};
这适用于所有 PhantomJS 版本。
TypeError: undefined is not a function (evaluating 'Math.log10(10)')
无法更改项目源码怎么解决?
我可以更改 PhantomJS 脚本的代码。
这个问题可以由
如果页面需要此功能,您可以轻松添加。例如使用 polyfill as provided by MDN.
必须尽早应用 polyfill。这是通过注册到 page.onInitialized
事件处理程序来完成的:
page.onInitialized = function(){
page.evaluate(function(){
Math.log10 = Math.log10 || function(x) {
return Math.log(x) / Math.LN10;
};
});
};
这适用于所有 PhantomJS 版本。