Полезная информация

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.

№105-10-2010 12:20:11

lkj
Участник
 
Группа: Members
Зарегистрирован: 05-10-2010
Сообщений: 8
UA: Firefox 4.0

Небезопасный JavaScript

Проблема.
Есть адон с  +2тысячи скачавших за месяц, за основу взят старый аддон и был передлан для 4 версии лисы(заменены части кода, добавлены новые функци).
Но при проверке сказали- что есть отклонения от безопасности и отказали.
Проблемы в файлах "content/***.js"
Текст из валидатора:

Безопасность результатов
Тесты на небезопасный JavaScript [справка]

    content/options.js (2) : Подошедший шаблон: "/mozIJSSubScriptLoader/"

Components.classes["@mozilla.org/moz/jssubscript-loader;1"].
    getService(Components.interfaces.mozIJSSubScriptLoader).
    loadSubScript('chrome://myaddon/content/rjlib.js');

content/overlay.js (2) : Подошедший шаблон: "/mozIJSSubScriptLoader/"

Components.classes["@mozilla.org/moz/jssubscript-loader;1"].
    getService(Components.interfaces.mozIJSSubScriptLoader).
    loadSubScript('chrome://myaddon/content/rjlib.js');

content/overlay.js (6) : Подошедший шаблон: "/mozIJSSubScriptLoader/"

Components.classes["@mozilla.org/moz/jssubscript-loader;1"].
    getService(Components.interfaces.mozIJSSubScriptLoader).
    loadSubScript('chrome://myaddon/content/themesMap.js');

    Показать ещё 3 результата

В .js- я плохо разбираюсь, учить буду скоро, пока времени нет. Вики читал, использовал алтернативы- не идёт(адон работает, а настройки не работают(да и не считывает настройки тоже).
Помогите- даёте альтернативный код. Заранее благодарю.

Отсутствует

 

№205-10-2010 12:58:03

luitzen
Участник
 
Группа: Members
Зарегистрирован: 19-07-2008
Сообщений: 791
UA: Firefox 4.0

Re: Небезопасный JavaScript

А попробуйте использовать Components.utils.import. Правда, нужно будет объявить resourse в chrome.manifest.

Отредактировано luitzen (05-10-2010 12:58:32)

Отсутствует

 

№306-10-2010 14:45:36

lkj
Участник
 
Группа: Members
Зарегистрирован: 05-10-2010
Сообщений: 8
UA: Firefox 4.0

Re: Небезопасный JavaScript

Благодарю за полсказку.
Но что то не получилось.
Не могли бы вы дать код который вставить в манифест(За имя адона постаавить "AAAA" если не сложно).
И пример кода. Даю шапку одного из фалов, остальный сам соображу как изменить.

Components.classes["@mozilla.org/moz/jssubscript-loader;1"].
       getService(Components.interfaces.mozIJSSubScriptLoader).
       loadSubScript('chrome://AAAAA/content/rjlib.js');

var sbbPrefs = Components.classes['@mozilla.org/preferences-service;1']
                    .getService(Components.interfaces.nsIPrefService)
                    .getBranch('extensions.AAAAA.');
sbbPrefs.QueryInterface(Components.interfaces.nsIPrefBranch2);

Ниже начинаются параметры.
Заранее благодарю.

Отсутствует

 

№406-10-2010 16:23:46

luitzen
Участник
 
Группа: Members
Зарегистрирован: 19-07-2008
Сообщений: 791
UA: Firefox 4.0

Re: Небезопасный JavaScript

lkj, шила в мешке не утаишь :).

Проще всего сказать в options.xul вот это:

Выделить код

Код:

<script src="rjlib.js"/>
<script src="options.js"/>

Если же хотите с использованием Components.utils.import, то:

  1. В chrome.manifest:

    Выделить код

    Код:

    resource smartbookmarksbar content/

  2. В rjlib.js:

    Выделить код

    Код:

    var EXPORTED_SYMBOLS = ["rjlib_restartFirefox", "rjlib_getRadiogroupValue"];

  3. В options.js:

    Выделить код

    Код:

    Components.utils.import('resource://smartbookmarksbar/rjlib.js');

Правда, у меня в 3.6 после этих изменений другие проблемы возникли, но они не выглядят страшно.

Отредактировано luitzen (06-10-2010 16:25:30)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]