PhantomJS更新资源文件path

我有一个nodejs + phantomjs设置。 我正在尝试生成HTML,并将其提供给SEO的机器人。 该应用程序目前的作品,但我想提高性能。 由于大量的js文件被加载,我正在尝试更新phantomjs中的资源path,以便将资源指向本地,而不是在浏览器中发出http请求以提高性能。

我正在做这样的事情。

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"); } 

但是这似乎没有工作。 在networking标签中,我仍然可以看到从外部源拉取的资源。

有其他的方法吗? 我也看着幻灯片caching,似乎没有帮助。

非常感谢帮助。 谢谢。

查看文档后find了解决scheme。

onResourceRequested

请求资源。 callback的第一个参数是requestData元数据对象。 第二个参数是networkRequest对象本身。

例:

 page.onResourceRequested = function(requestData, networkRequest) { console.log('Request (#' + requestData.id + '): ' + JSON.stringify(requestData)); }; 
  • abort():中止当前的networking请求。 中止当前的networking请求将调用(onResourceError)callback。

  • changeUrl(url):更改networking请求的当前URL。

request.changeUrl(url)可以用来改变url。

http://phantomjs.org/api/webpage/handler/on-resource-requested.html