Display current URL in a chrome extension

前端 未结 3 1305
一个人的身影
一个人的身影 2020-12-09 05:43

After doing some research, the code that I have come up with is this:

var outUrl;
// first get the windowid
chrome.windows.getCurrent(function(window) {
             


        
相关标签:
3条回答
  • 2020-12-09 06:16

    Maybe this is what your looking for....

    chrome.tabs.query({'active': true, 'windowId': chrome.windows.WINDOW_ID_CURRENT},
       function(tabs){
          alert(tabs[0].url);
       }
    );
    

    And the tabs permission needs to be set in the manifest...

    manifest.json

    "permissions": [ 
      "tabs"
    ]
    
    0 讨论(0)
  • 2020-12-09 06:19

    Solution:

    Get the URL of currently selected tab for Chrome Extension This code is to get parts of URL, because in tabs[0].url we cannot get parts of URL like host, hostname, origin, port, etc...

    chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) {
    let link = document.createElement('a');
    link.href = tabs[0].url;
    })
    

    Further using basic js to get its part: link.host = "password remember.web.app" You can use other like link.hostname, link.hash, link.host, link.href, link.origin, .link.pathname, link.protocol, link.search

    Hope it solves your problem!

    0 讨论(0)
  • 2020-12-09 06:31

    I had the same issue. I wrote this extension to display the current URL user is browsing now in the popup.

    manifest.js

    "permissions": [ 
      "tabs"
    ]
    

    popup.js

    function getCurrentTabUrl(callback) {  
      var queryInfo = {
        active: true, 
        currentWindow: true
      };
    
      chrome.tabs.query(queryInfo, function(tabs) {
        var tab = tabs[0]; 
        var url = tab.url;
        callback(url);
      });
    }
    
    function renderURL(statusText) {
      document.getElementById('status').textContent = statusText;
    }
    
    document.addEventListener('DOMContentLoaded', function() {
      getCurrentTabUrl(function(url) {
        renderURL(url); 
      });
    });
    
    0 讨论(0)
提交回复
热议问题