1

我对我的 chrome 扩展中的 javascript 有一个小问题。我的弹出窗口包括用于从一个大站点搜索书籍的小表单。所以当我搜索书名时,它应该显示加载微调器,向书籍 API 发送 xhr 请求,删除微调器,在新选项卡中打开 options.html 并显示结果。它有效,但只是有时。所以你有什么建议?

popup.js

// var books includes JSON array of fetched books
    hrome.tabs.create({url: "options.html"}, function(tab){
      chrome.tabs.sendMessage(tab.id, {booksList: books});
    });

和 options.js

chrome.extension.onMessage.addListener(function(request, sender, sendResponse) {
 alert("OK");
});

但是有时只显示OK...为什么?

4

1 回答 1

0

通过使用localStorage解决...

popup.js

localStorage.books = JSON.stringify(books);
chrome.tabs.create({
    url: "options.html"
}, function(tab) {
    console.log(books);
});​

选项.js

var books = localStorage.books;
drawBooks(JSON.parse(books));
于 2012-08-09T09:25:55.250 回答