20

I am creating an extension for Chrome. I want to show an alert() with the page URL whenever the user moves from one tab to another, or when the user enters a new URL in a tab.

This is not working:

chrome.tabs.onUpdated.addListener(function(integer tabId, object changeInfo, Tab tab) { alert(changeInfo.url); }); chrome.tabs.onActivated.addListener(function(object activeInfo) { // also please post how to fetch tab url using activeInfo.tabid }); 

2 Answers 2

50

Remove integer, object and Tab in the functions signature. Also change .onUpdated to .onActivated

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) { alert(changeInfo.url); }); chrome.tabs.onActivated.addListener(function(activeInfo) { // how to fetch tab url using activeInfo.tabid chrome.tabs.get(activeInfo.tabId, function(tab){ console.log(tab.url); }); }); 
Sign up to request clarification or add additional context in comments.

3 Comments

Does this code not work anymore? I'm using this as a popup.js included in my popup.html. Won't work in my background or content-script either.
This is probably too late for Rohit, but make sure you have "tabs" in the permissions array in the extension manifest. Otherwise, you won't get the tab URL or title.
Awesome, this really work!
2
chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab)=>{ chrome.tabs.query({ active: true, currentWindow: true },(tabs)=>{ if(changeInfo.url && tabId === tabs[0].id) { console.log("Only Current TAB"); }; })}) 

This will give if only the current tab is updated.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.