如何将参数传递给Javascript模块?
-
29-10-2019 - |
题
我想在我的Xul应用程序的单个窗口中使用 JavaScript模块(JSM),因此我可以根据需要加载资源。
但是,我需要将窗口传递给JSM,但我不知道该怎么做。跟随我的尝试:
在我的 resource.jsm 中: 通用标签
在我的窗口中调用: 通用标签
但是我得到了
未定义胜利
在resource.jsm中。
有什么主意如何使它起作用吗?
解决方案
将您的hello
函数的参数命名为window
可能会导致问题。虽然window不是保留字,但大多数浏览器环境将其视为不可分配的各种常量。试试:
通用标签
在您的模块中,然后使用hello(window)
,hello(document.window)
或hello(this)
调用它
阅读Javascript Module文档后,您似乎需要在模块中创建一个对象,然后通过引用更改其属性。因此,在您的JSM中: 通用标签
然后您首先通过将窗口分配给该参数然后调用该函数来调用: 通用标签
注意:我对JSM不够熟悉,无法知道是否有更好的方法可以做到这一点,但这应该可行。
不隶属于 StackOverflow