Как передать аргумент модулю Javascript?
-
29-10-2019 - |
Вопрос
Я хочу использовать модуль Javascript (JSM) в одном окне моего приложения Xul., поэтому я могу загружать ресурс по мере необходимости.
Но мне нужно передать окно в JSM, и я не знаю, как это сделать.После моей попытки:
В моем resource.jsm :
общийзвоню в мое окно с помощью:
общийно я получаю:
<цитата>выигрыш не определен
в resource.jsm.
Есть идеи, как заставить его работать?
Решение
Возможно, возникли проблемы, если вы назвали параметр функции hello
window
.Хотя «окно» не является зарезервированным словом, в большинстве браузерных сред оно рассматривается как своего рода не присваиваемая константа.Попробуйте:
в своем модуле, а затем вызовите его с помощью hello(window)
, hello(document.window)
или hello(this)
После прочтения документации модуля Javascript кажется, что вам нужно создать объект внутри модуля, а затем изменить его свойство по ссылке.Итак, в вашем JSM:
общийЗатем вы вызываете, сначала назначая окно этому параметру, а затем вызывая функцию:
общийПримечание. Я недостаточно знаком с JSM, чтобы знать, есть ли лучший способ сделать это, но это должно сработать.