Firefox页面工作人员API



有没有办法启用cookie,这样我就可以使用page-worker API进行登录?这是关于我的代码的样子:

var pageWorkers = require("sdk/page-worker");
pageWorkers.Page({
  contentURL: asdasd.com/login.php?id=xxxxxx&pwd=yyyyyyy
  contentScript: "self.postMessage(document.body.innerHTML)",
  contentScriptWhen: "ready",
  onMessage: function(msg) {
    console.log(msg);
  }
});
pageWorkers.Page({
  contentURL: asdasd.com/site_that_is_only_visible_if_loged_in.php
  contentScript: "self.postMessage(document.body.innerHTML)",
  contentScriptWhen: "ready",
  onMessage: function(msg) {
    console.log(msg); 
  }
});

第二个console.log()告诉我没有登录。这就是为什么我假设登录cookie没有保存。如果我手动打开firefox中的登录链接和另一个,它会正常工作。插件似乎无法做到这一点。:/

您需要重用相同的PageWorker,而不是创建第二个:

var pagecount = 0; 
var pageWorker = require("sdk/page-worker").Page({
  contentURL: "http://asdasd.com/login.php?id=xxxxxx&pwd=yyyyyyy",
  contentScript: "self.postMessage(document.body.innerHTML)",
  contentScriptWhen: "ready",
  onMessage: function(msg) {
    console.log("html: "+msg);
    if (++pagecount == 1) 
        loadSecondPage();
  }
});
function loadSecondPage() {
    pageWorker.contentURL =
       "http://asdasd.com/site_that_is_only_visible_if_loged_in.php";
}

最新更新