function doit() { alert(3); // Statement 1 // chrome.tabs.create({url:"http://www.google.com"}); // Statement 2 // chrome.tabs.update({url:"http://en.wikipedia.org"}); alert(4); } chrome.browserAction.onClicked.addListener(doit);
Когда скрипт работает как есть, я получаю оповещения JS 3 и 4. ОК.
Когда я комментирую оператор 1 и запускаю сценарий, я получаю предупреждение JS со значением 3, затем Google открывается в новой активной вкладке, затем я получаю предупреждение JS 4. Как и ожидалось.
Когда я комментирую оператор 1 и комментирую оператор 2, я получаю предупреждение JS со значением 3, и это все.
Согласно http://code.google.com/chrome/extensions/tabs.html#method-update, Мне не нужно передавать объект tabId, потому что он «по умолчанию соответствует выбранной вкладке текущего окна». Как я заметил, объект URL определяется как «URL-адрес для перехода на вкладку». когда я запустил chrome.tabs.create в операторе 1.
Почему мой оператор chrome.tabs.update не работает?