I'm trying to write a simple google extension that will upon clicking "ctrl+alt+x" search for the selected text in google.
This is my mainfest:
{
"name": "A jQuery Chrome extension",
"version": "0.1",
"description": "Use jQuery to build Chrome extensions",
"content_scripts": [
{
"matches" : ["http://*/*"],
"js": ["jquery.js", "jquery.hotkeys.js", "content.js"]
}
],
"background_page": "background.html",
"permissions": [
"tabs"
]
}
And this is my content.js:
$(document).bind('keydown', 'alt+ctrl+x', function() {
var selectedText = window.getSelection().toString();
if (selectedText)
{
var googleQuery = "http://www.google.com/search?q=" + selectedText;
alert(googleQuery);
chrome.tabs.create({"url" : googleQuery});
alert(googleQuery);
}
});
The code works until the line for opening a new tab (the first alert pops up but not the second). I just can't seem to get it working. What am I missing?
According to the Google Chrome Tabs reference, chrome.tabs
(and everything but chrome.extension
) is not available to content scripts.
As an alternative, you could try window.open()
, or use message passing to let your background page to open the tab.