2014-01-29 6 views
0

Я новичок в разработке chrome extensions, Я собираюсь создать простое расширение, в котором, когда основная кнопка нажата, перейдите на текущий URL-адрес открытой страницы на мой сайт, , но проблема я не могу понять, как передать переменные javascript из метода chrome.tabs.create?Как передать переменную из chrome.tabs.create

мой файл mainfest.json:

{ 
"manifest_version": 2, 

"name": "Fake URL Detection", 
"description": "Detect the fake URL when you access it from your browser.", 
"version": "1.0", 

"permissions": [ "contentSettings", "tabs" ], 

"browser_action": { 
"default_icon": "icon.png" 
}, 

"background": { 
    "scripts": [ 
     "background.js" 
    ] 
} 
} 

мой background.js файл:

chrome.browserAction.onClicked.addListener(function (tab) { 

chrome.tabs.getSelected(null, function(tab) { 
    var tabId = tab.id; 
    var tabUrl = tab.url; 

    alert(tabUrl); 
}); 
chrome.tabs.create({ 
    url: "http://mywebsite.com/search?q="+tabUrl 
}); 
}); 

пожалуйста, помогите мне, , как я могу передать, что tabUrl переменная мой внешний URL

+1

Объявите переменную tabUrl в глобальном контексте – Givi

+0

в MainFest файл ??? не могли бы вы привести мне пример? – TrojanHorse

ответ

3

Почему вы пытаетесь передать переменную tabUrl в chrome.tabs.create? Вы можете вызвать информацию tab.url в методе chrome.tabs.create.

background.js

chrome.browserAction.onClicked.addListener(function(tab) { 
    chrome.tabs.create({ 
     url: "http://www.google.com/search?q=" + tab.url //Changed the URL for testing 
    }); 
}); 
+0

это работает .. !!! большое спасибо ... – TrojanHorse

+0

Объявление глобальной переменной также будет работать, но я не могу придумать, почему вы хотели бы сделать это для такого простого расширения. – Brian

+0

@TrojanHorse, если это работает для вас, пожалуйста, примите ответ, чтобы помочь другим с тем же вопросом быстро найти его. – Brian

Смежные вопросы