изменить расширение Google Chrome, чтобы удалить вкладку - PullRequest
2 голосов
/ 04 марта 2012

Я пытаюсь изменить существующее расширение (читаемость) для Chrome. Прямо сейчас, когда вы сохраняете страницу с удобочитаемостью, она не закрывает вкладку впоследствии.

Код в расширении вызывает скрипт, размещенный на их сервере:

(function(){ rdb.chrome.inject_page_script('/bookmarklet/save.js'); }());

Затем я изменил его, добавив код для удаления текущей вкладки, но даже если я удалю их вызов, я не смогу заставить его работать.

Я изменил код, чтобы он выглядел так:

(function(){ rdb.chrome.inject_page_script('/bookmarklet/save.js'); chrome.tabs.getSelected( null, function(tab) { chrome.tabs.remove(tab.id); return true; }); }());

Но он не закрывает вкладку и не использует их функцию должным образом. Я пытался использовать только один код закрытия вкладки в функции без их вызова, и он не закрывал вкладку.

Есть ли способ изменить их вызов, чтобы закрыть вкладку после того, как он выполнит сценарий для закладки страницы?

Ответы [ 2 ]

3 голосов
/ 05 марта 2012

Я бы больше не использовал chrom chrome.tabs.getSelected, так как он недавно устарел. Рекомендуется использовать chrome.tabs.getCurrent и / или chrome.tabs.query . Однако также стоит упомянуть, что оба эти метода требуют разрешения вкладок .

Не взирая на расширение читаемости, трудно определить, почему ваш код не вызывался, но я предлагаю вам добавить в код операторы отладки (например, console.log('foo')), чтобы определить, почему этот код не достигается .

Наконец, убедитесь, что вы выполняете правильные процедуры отладки / разработки , чтобы вы могли легче тестировать свои изменения.

1 голос
/ 05 марта 2012

Попробуйте

chrome.tabs.getCurrent(function(tab) {
    chrome.tabs.remove(tab.id, function(){});
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...