chrome.tabs.create is giving an error - "Uncaught TypeError: Cannot call method 'create' of undefined"

12,522

Content scripts can't access most extension APIs; only those listed in the content scripts doc will work. Instead, use window.open("http://www.google.com") (yes, this does create a new tab in Chrome; no, there aren't any user settings in Chrome that would change that). If you need more access to the extension APIs, you can use message passing to make your event page do things on behalf of the content script.

Share:
12,522
Shikhar Sharma
Author by

Shikhar Sharma

Updated on July 19, 2022

Comments

  • Shikhar Sharma
    Shikhar Sharma almost 2 years

    My manifest.json contains

    "content_scripts": [
      {
      "matches": ["http://www.facebook.com/*","https://www.facebook.com/*"],
       "js": ["js/jquery-1.7.2.min.js", "js/jquery.livequery.min.js", "js/script.js"]
      }
    ]
    

    and the contents of script.js are

    $("#FB_HiddenContainer").livequery(function(){
       chrome.tabs.create({"url":"http://www.google.com"});
    });
    

    When i open facebook, console reports an error

    Uncaught TypeError: Cannot call method 'create' of undefined

    at

    chrome-extension://whateveristhisweirdcode/js/script.js:2

    How can i make it open a new tab??