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 Content Scripts reference,
chrome.tabs(and everything butchrome.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.