Javascript PhantomJS正在更新资源文件路径
我有一个nodejs+phantomjs设置。我正在尝试生成html并将其提供给搜索引擎优化机器人。该应用程序目前运行正常,但我希望提高性能。由于加载了很多js文件,所以我尝试在phantomjs中更新资源路径,以便将资源指向本地,而不是在浏览器中发出http请求以提高性能 我正在做这样的事情Javascript PhantomJS正在更新资源文件路径,javascript,node.js,phantomjs,Javascript,Node.js,Phantomjs,我有一个nodejs+phantomjs设置。我正在尝试生成html并将其提供给搜索引擎优化机器人。该应用程序目前运行正常,但我希望提高性能。由于加载了很多js文件,所以我尝试在phantomjs中更新资源路径,以便将资源指向本地,而不是在浏览器中发出http请求以提高性能 我正在做这样的事情 page.onResourceRequested = function (requestData, request) { if(requestData.url.indexOf('.js') >
page.onResourceRequested = function (requestData, request) {
if(requestData.url.indexOf('.js') > 0) {
requestData.url = requestData.url.replace("http://foo.com/","/path to local directory of the resources");
}
但这似乎不起作用。在“网络”选项卡中,我仍然可以看到从外部源提取的资源
有没有其他办法?我还研究了phantomjs中似乎没有帮助的缓存
非常感谢你的帮助。
谢谢。在查看文档后,刚刚找到了解决方案 onResourceRequested 请求一个资源。回调的第一个参数是 requestData元数据对象。第二个参数是networkRequest 对象本身 例如:
- 中止():中止当前网络请求。中止当前进程 网络请求将调用(onResourceError)回调
- 更改url(url):更改网络请求的当前url
page.onResourceRequested = function(requestData, networkRequest) {
console.log('Request (#' + requestData.id + '): ' + JSON.stringify(requestData));
};