簡體   English   中英

在chrome擴展中加載內容腳本

[英]Content script loading in chrome extension

我有開發chrome擴展的問題。

我有內容腳本:

window.addEventListener("load",function(){
   var html = document.getElementsByTagName('html')[0];
   var title = document.getElementsByTagName('title')[0].innerHTML;
   if(html){
      chrome.extension.sendRequest({akce: 'content', title: title},function(response){});
      alert(title);
   }
},false);

然后我有一個BG頁面:

chrome.extension.onRequest.addListener(function(request,sender,sendResponse){
    if(request.akce == 'content'){
        console.log(request.title);
    }
});

問題是,當我開始鍵入地址欄時,我的內容腳本將加載到首先出現在自動完成列表中的站點上。 正如您在下面的屏幕截圖中看到的那樣,內容腳本在我輸入地址欄之前加載並加載到我還沒有的網站上。

我不知道發生了什么。 拜托,請幫幫我。

截圖

解決方案是從后台頁面注入腳本。

示例:從bg頁面獲取referrer

chrome.tabs.executeScript(tabId,{
    code: "chrome.extension.sendRequest({action: 'content_refer', url: document.referrer},function(response){});"
});

chrome.extension.onRequest.addListener(function(request,sender,sendResponse){
    if(request.action == 'content_refer'){
        wipstats.allPages[sender.tab.id].ref = request.url;
    }
});

我猜你已經在Chrome中啟用了“即時瀏覽”選項,我前段時間遇到了同樣的問題,正因為這個原因我禁用了它並且再也沒用過了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM