Расширение Firefox, открывающее страницу при установке - PullRequest
3 голосов
/ 06 июня 2009

Я заметил, что некоторые расширения Firefox после установки откроют страницу после перезапуска браузера, например, панель инструментов StumbleUpon .

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

Как вы открываете новую страницу в дополнении Firefox при первом перезапуске браузера после установки?

Ответы [ 2 ]

5 голосов
/ 06 июня 2009

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

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

var prefs = Components.classes["@mozilla.org/preferences-service;1"]
            .getService(Components.interfaces.nsIPrefService);
prefs.QueryInterface(Components.interfaces.nsIPrefBranch2);

if ((prefs.getPrefType("extensions.yourextensionhere.yourprerference") == PREF_INVALID)
    || (prefs.getCharPref("extensions.yourextensionhere.yourprerference") != this.version)) {
    //open page and...
    prefs.setCharPref("extensions.yourextensionhere.yourprerference",this.version)
 }

РЕДАКТИРОВАТЬ .. используется проверка версии == вместо! = Как и должно быть

0 голосов
/ 06 июня 2009

Я не работал напрямую с расширениями Firefox, но я хотел бы представить что-то вроде сохранения флага (логического значения) в постоянной памяти (однако вы сохраняете пользовательские настройки). Когда браузер запускается в первый раз после установки, флаг не будет установлен, поэтому вы отображаете страницу справки и устанавливаете флаг. В следующий раз, когда Firefox перезапустится, флаг уже будет установлен, поэтому вы не откроете страницу справки.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...