0
我已經發送了來自我的內容腳本的請求,併成功從我的背景頁面收到了響應。現在我想在我的內容腳本中設置一個變量 - 基於響應。這是我遇到麻煩的地方。應該很簡單....我想我必須得到錯誤的語法。下面是在我的內容腳本:根據傳遞自BG頁面的消息在內容腳本中設置變量 - Chrome擴展
chrome.extension.sendRequest({greeting: "hello"}, function(response) {
console.log(response.farewell);
if (response.farewell == "goodbye") {
wasPolite = "yes";
}
else if (response.farewell == "goaway") {
wasPolite = "no";
}
else {
wasPolite = "maybe";
}
});
alert(wasPolite);
控制檯顯示goaway
作爲響應,但wasPoite
仍然是不確定的。
您在哪裏測試wasPolite的值?我想這是一個範圍問題。你能否發佈更多的代碼來顯示wasPolite變量的範圍以及它的定義和後續測試的位置? –
它是在上面的代碼中定義的,作爲注入腳本的頁面上的全局變量,就這些了。它在上面的代碼後面的下一行進行了測試。我試圖提醒(wasPolite)',但沒有骰子...... –
如果你定義var wasPolite ='';在chrome.extension之前....並且它仍然沒有提醒正確的值,那麼我會問的是chrome.extension.sendRequest()函數是異步的嗎?如果是這樣,你可能會在請求有回調之前提醒wasPolite。 @Ruup可能正在跟蹤,表明在sendRequest實際完成後,wasPolite將只具有它的值,從而觸發回調。 –