一千萬個為什麽

搜索

Google Chrome擴展程序操縱網址

我正在制作一個操作當前標簽的Chrome擴展程序。 當我給它特定的URL時,它可以工作。

<html>
  <script>

function updateUrl(tab){

      var newurl = "http:www.google.com";
      chrome.tabs.update(tab.id, {url: newurl});
}

chrome.browserAction.onClicked.addListener(function(tab) {updateUrl(tab);});

  </script>
</html>

但是,當我將其更改為以下內容時,它不起作用。

<html>
  <script>

var currentURl = tab.url

function updateUrl(tab){

      var newurl = currentURL.replace("bing", "google");
      chrome.tabs.update(tab.id, {url: newurl});
}

chrome.browserAction.onClicked.addListener(function(tab) {updateUrl(tab);});

  </script>
</html>

我已經嘗試將“tab.url”更改為“chrome.tab.url”“chrome.tabs.url”和其他一些內容。 有任何想法嗎?! 先謝謝了! :)

最佳答案

選項卡中未定義選項卡

var currentURL = tab.url

您必須在函數updateUrl中定義currentURL

嘗試

<html>
   <script>

   function updateUrl(tab){

       var currentURL = tab.url

       var newurl = currentURL.replace("bing", "google");
       chrome.tabs.update(tab.id, {url: newurl});
   }

   chrome.browserAction.onClicked.addListener(function(tab) {updateUrl(tab);});

  </script>
</html>

轉載註明原文: Google Chrome擴展程序操縱網址