2012-05-31 4 views
2

Мне нужно открыть newtab (это ссылка на ссылку, которая показывает, как использовать мое расширение) после установки расширения. Как я могу это сделать ?Как открыть новую вкладку после установки расширения?

+0

Вы уверены, что * каждый * пользователь должен будет увидеть страницу? Не лучше ли попросить пользователя перейти на страницу, если они захотят, или просто сделать ссылку на руководство на странице загрузки? – Tyilo

+0

Это хорошая идея, но после того, как пользователь установил расширение, тогда google покажет связанные расширения :( – xRobot

ответ

10

Вы можете проверить фоновая страница на ключ hasSeenIntro в локальном хранилище при загрузке страницы, который происходит каждый раз при загрузке браузера и при установке браузера. Если он есть, пользователь увидит int int interstitial, а если нет, покажите им страницу (используя chrome.tabs.create), затем установите ключ.

Где-то в вашем background.html:

if (!window.localStorage.getItem('hasSeenIntro')) { 
    window.localStorage.setItem('hasSeenIntro', 'yep'); 
    chrome.tabs.create({ 
    url: '/help.html' 
    }); 
} 

Вы можете расширить это, чтобы показать интро для каждой новой основной версии/особенности в расширении, не только путем проверки наличия/отсутствия ключа в местном но также и значение (например, страница с последними просмотрами).

Будьте осторожны с этим, но может раздражать, чтобы показать страницу каждый раз, когда расширение обновляется.

+0

Каков наилучший способ показать страницу справки после установки расширения по вашему мнению? – xRobot

+0

Как я описал, имея вкладку open, если он еще не был показан ранее. –

+1

Обратите внимание, что в канале Dev есть новый API, чтобы указать, когда только что было добавлено расширение: http://code.google.com/chrome/extensions/dev/runtime. html # event-onInstalled - это будет вызываться только при первом установлении расширения, а не при каждом открытии браузера. –

2

Вы можете использовать onInstalled прослушиватель. Он откроет options.html только один раз, когда пользователь установит расширение Chrome.

chrome.runtime.onInstalled.addListener(function(){ 
    chrome.tabs.create({url:chrome.extension.getURL("options.html")},function(){}) 
}) 
Смежные вопросы