Display current URL in a chrome extension

30,295

Solution 1

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"
]

Solution 2

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); 
  });
});
Share:
30,295
Josh
Author by

Josh

Updated on September 23, 2020

Comments

  • Josh
    Josh over 3 years

    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) {
        // then get the current active tab in that window
        chrome.tabs.query({
            active: true,
            windowId: window.id
        }, function (tabs) {
            var tab = tabs[0];
            document.write(tab.url)
        });
    });
    

    This is in a javascript file which is called from my popup html file. It does not, however display the URL of the current website, instead it displays nothing.

    I have found multiple posts about this on this and other websites but I haven't been able to implement any of the supposed solutions.

    Any help would be greatly appreciated.

  • Admin
    Admin about 11 years
    I'm getting undefined for this. :(
  • Admin
    Admin about 11 years
    Got it - had to add this: "permissions": [ "tabs" ] in manifest.json
  • graemeboy
    graemeboy about 10 years
    ^ and then reload the extension in the chrome://extensions/ page
  • Sohel Shekh
    Sohel Shekh almost 4 years
    Don't forgot to set tabs permission in Manifest.json