2012-05-08 3 views
1

Добрый вечер,Chrome вкладки URL Перенаправление

Я начинающееся расширение хром и в определенном сценарии мне нужно перенаправить (изменить URL) на вкладке пользователя.

Вот мой код

function changeTabURL(tabName,addr) { 
var tabId=parseInt(localStorage.getItem(tabName)); //fetch tab ID 

chrome.tabs.update(tabId,{"url":addr}); 

} 

Теперь вот что происходит, The Chrome: // ... вещь быть предваряет мой URL! Скажите, что я пытаюсь перенаправить вкладку «http://www.google.com», это то, что происходит:

«Нет веб-страница не была найдена на веб-адрес: хром-расширение: // oihdngeahhchnacpilhnmaknneooabbc/HTTP : //www.google.com "

Я не могу встряхнуть это! Я пробовал сбросить URL-адрес сначала

chrome.tabs.get(tabId,function(tab) { 
tab.url=''; 
alert(tab.url); 
}); 
chrome.tabs.update(tabId,{"url":addr}); 
} 

ничего не сделаю.

Любые мысли?

+0

Я попытался код, который вы уже упоминали здесь в сценарии контента. У меня нет проблем с перенаправлением. Сначала я попробовал 'www.google.com', который дал мне ошибку, подобную той, что вы упомянули здесь. Но затем я редактировал URL-адрес на «http: // www.google.com» и снова попытался перезагрузить расширение из настроек хрома. Это сработало для меня. –

+0

Эй, Джозеф, спасибо! Я понятия не имею, как и почему, но это так, как вы сказали, когда я убеждаюсь, что у адресов есть http: // проблема решает ... –

ответ

2

Поскольку вы уже используете API-интерфейс chrome.tabs, вы можете попробовать использовать chrome.tabs.query, чтобы найти активную вкладку и получить ее идентификатор. Вот пример:

queryInfo = new Object(); 
queryInfo.active = true; 
chrome.tabs.query(queryInfo, function(result) { 
    var activeTab = result[1].id; 
    updateProperties = new Object(); 
    updateProperties.url = 'YOUR_URL_HERE'; 
    chrome.tabs.update(activeTab, updateProperties, function() { 
      // Anything else you want to do after the tab has been updated. 
    }); 
}); 
0

у вас установлено разрешение в вашем manifest.json так:

"permissions": [ 
"notifications", 
"contextMenus", 
"tabs", 
"contentSettings", 
"http://*/*", 
"https://*/*" 

]

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