2013-02-16 2 views
1

У меня есть SDK 1.13, и я хочу использовать API-интерфейс pageload, чтобы выдать предупреждающее сообщение, когда форма html загружена в браузере Firefox. но я получаю сообщение об ошибке на консоли: require не определен. я связан CFX файл добавить в SDK в файл каталога системы:sdk/pageload-require не определен

ln -s PATH_TO_SDK/bin/cfx ~/bin/cfx 

Тем не менее, я не в состоянии решить эту ошибку. Вот мой код (входит в файл XUL):

var pageMod = require("sdk/page-mod"); 
    pageMod.PageMod({ 
    include: "*.html", 
    contentScript: 'window.alert("Page matches ruleset");' 
}); 

ответ

1

Я предполагаю, что вы установили SDK и запускаете bin \ активируете в своем расширении, прежде чем пытаться запустить cfx, правильно?

Вы не можете запустить этот материал из файла XUL, поэтому требуется ... не работает. Все это должно быть в main.js (в папке lib). Вам нужно будет связаться через сценарий содержимого, который вы напишете (в папке с данными). Когда html загружается (я бы добавил window.listener или что-то из скрипта содержимого), вы будете использовать port.emit («загружен») или что-то подобное, и тогда вам придется слушать в main.js что-то например addon.port («загружен», некоторая функция). В этом есть много хорошей документации!

+0

Могу ли я использовать SKD в main.js, хотя мое основное приложение находится в XUL? Я имею в виду, могу ли я объединить эти два? – bgmCoder

Смежные вопросы