我試圖使用消息傳遞將一些數據從localStorage傳遞到我的內容。一切似乎都正確,但數據沒有被傳遞。我已經設置了控制檯寫入來查看消息傳遞是否被觸及,而不是。這是我第一次使用JavaScript,因此語法可能是錯誤的。Chrome擴展消息通過localStorage傳遞,值未定義
這裏都是我跟在extenstion工作文件:
我試圖使用消息傳遞將一些數據從localStorage傳遞到我的內容。一切似乎都正確,但數據沒有被傳遞。我已經設置了控制檯寫入來查看消息傳遞是否被觸及,而不是。這是我第一次使用JavaScript,因此語法可能是錯誤的。Chrome擴展消息通過localStorage傳遞,值未定義
這裏都是我跟在extenstion工作文件:
它看起來像您可能使用sendRequest
,如果它是同步的。
function genericOnClick(info, tab) {
var sText = info.selectionText;
var daddr = sText.split(' ').join('+');
chrome.extension.sendRequest(
{method: "getLocalStorage", key: "saddr"},
function(response) {
var saddr = response.data;
var homeTxt = "http://maps.google.com/maps?" +
"saddr=" + saddr.split(' ').join('+') + "&daddr=";
var url = homeTxt + daddr;
chrome.tabs.create({url:url});
console.log("item " + info.menuItemId + " was clicked");
console.log("info: " + JSON.stringify(info));
console.log("tab: " + JSON.stringify(tab));
}
);
}
我瞭解http://code.google.com/chrome/extensions/messaging.html上的解釋的方式是,我可以向background.html發送請求,並通過回覆發送background.html回覆。這就是爲什麼我很困惑,爲什麼它不工作。 – Sterfry1988
我繼續並修改了我的腳本。你可以在這裏看到修改後的版本:https://gist.github.com/1369092。運行腳本時,消息傳遞中不會發生任何事情。控制檯僅顯示「鼠標點擊」操作。有什麼想法嗎? – Sterfry1988
@ Sterfry1988,如果您在background.html的第3行之前登錄會發生什麼?你收到*任何*嗎? – strager
您的鏈接標題不注重細節。 *(我修改它以增加清晰度。)* – ChaosPandion
修改後,希望有所幫助。 – Sterfry1988