Проблема.
Есть адон с +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- я плохо разбираюсь, учить буду скоро, пока времени нет. Вики читал, использовал алтернативы- не идёт(адон работает, а настройки не работают(да и не считывает настройки тоже).
Помогите- даёте альтернативный код. Заранее благодарю.
Отсутствует
А попробуйте использовать Components.utils.import. Правда, нужно будет объявить resourse в chrome.manifest.
Отредактировано luitzen (05-10-2010 12:58:32)
Отсутствует
Благодарю за полсказку.
Но что то не получилось.
Не могли бы вы дать код который вставить в манифест(За имя адона постаавить "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);
Ниже начинаются параметры.
Заранее благодарю.
Отсутствует
lkj, шила в мешке не утаишь .
Проще всего сказать в options.xul вот это:
Если же хотите с использованием Components.utils.import, то:
Правда, у меня в 3.6 после этих изменений другие проблемы возникли, но они не выглядят страшно.
Отредактировано luitzen (06-10-2010 16:25:30)
Отсутствует