因爲我的內容腳本無法使用所有的chrome API工具,所以我正在從我的內容腳本向我的後臺腳本發送消息。收到後,後臺腳本應該打開一個包含我製作的html文件的新選項卡。chrome.tabs.create不起作用
這是從內容腳本發送消息...
chrome.runtime.sendMessage({permission: true}, function(response) {
console.log(response.access);
});
這是我的後臺腳本接收消息的代碼...
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
if (request.permission == true) {
chrome.tabs.create({'url': chrome.extension.getURL('./src/permission.html')}, function(tab) {
sendResponse({access: "yes"});
});
}
});
收到該消息,我已經測試過了。但是,當我添加以下代碼...
chrome.tabs.create({'url': chrome.extension.getURL('./src/permission.html')}, function(tab) {
...etc
我收到一個錯誤,說沒有收到響應。意思是我的chrome.tabs.create
裏面必須有東西。爲什麼它破裂?
permission.html
路徑相對於後臺腳本。
我想要的是在收到消息時創建一個新選項卡。
不幸的是這些解決方案都沒有幫助。該選項卡仍然不會打開 – Bolboa
您可以嘗試運行該命令嗎?轉到chrome:// extensions,然後(確保選中「開發者模式」)點擊你的擴展的「背景頁面」。一旦開發工具打開,進入控制檯標籤,試着直接通過執行'chrome.tabs.create({'url':chrome.extension.getURL('src/permission.html')}); –