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);
});
});
Author by
Josh
Updated on September 23, 2020Comments
-
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 about 11 yearsI'm getting undefined for this. :(
-
Admin about 11 yearsGot it - had to add this:
"permissions": [ "tabs" ]
inmanifest.json
-
graemeboy about 10 years^ and then reload the extension in the chrome://extensions/ page
-
Sohel Shekh almost 4 yearsDon't forgot to set tabs permission in Manifest.json