Я весело провожу время с расширением Google Chrome, и я просто хочу знать, как я могу сохранить URL текущей вкладки в переменной?
Друг отвечает на мой вопрос.
Сначала нужно установить права доступа к закладке API :
"permissions": [
"tabs"
]
И сохранить URL :
chrome.tabs.getSelected(null,function(tab) {
var tablink = tab.url;
});
<привет, вот пример Google Chrome Sample, который отправляет текущий Сайт другу по электронной почте. Основная идея заключается в том, что вам нужно... в первую очередь он получает содержимое страницы (не interessting для вас)... после этого он получает URL (<-- хорошая часть)
Кроме того, это хороший рабочий пример кода, который я предпочитаю motstly, а не чтение документов.
Можно найти здесь: Отправьте по электронной почте эту страницу
Проблема в том, что chrome.tabs.getSelected является асинхронным. Приведенный ниже код обычно не работает должным образом. Значение 'tablink' по-прежнему будет неопределенным, когда оно будет записано в консоль, потому что getSelected еще не вызвал обратный вызов, который сбрасывает значение:
var tablink;
chrome.tabs.getSelected(null,function(tab) {
tablink = tab.url;
});
console.log(tablink);
Решение состоит в том, чтобы обернуть код, в котором вы будете использовать значение в функции и вызвать его с помощью getSelected. Таким образом, вы гарантированно всегда будете иметь установленное значение, потому что вашему коду придется ждать, пока значение не будет предоставлено, прежде чем оно будет выполнено.
Попробуйте что-нибудь вроде:
chrome.tabs.getSelected(null, function(tab) {
myFunction(tab.url);
});
function myFunction(tablink) {
// do stuff here
console.log(tablink);
}