我想在我的Xul应用程序的单个窗口中使用 JavaScript模块(JSM),因此我可以根据需要加载资源。

但是,我需要将窗口传递给JSM,但我不知道该怎么做。跟随我的尝试:

在我的 resource.jsm 中: 通用标签

在我的窗口中调用: 通用标签

但是我得到了

未定义胜利

在resource.jsm中。

有什么主意如何使它起作用吗?

有帮助吗?

解决方案

将您的hello函数的参数命名为window可能会导致问题。虽然window不是保留字,但大多数浏览器环境将其视为不可分配的各种常量。试试: 通用标签

在您的模块中,然后使用hello(window)hello(document.window)hello(this)调用它


阅读Javascript Module文档后,您似乎需要在模块中创建一个对象,然后通过引用更改其属性。因此,在您的JSM中: 通用标签

然后您首先通过将窗口分配给该参数然后调用该函数来调用: 通用标签

注意:我对JSM不够熟悉,无法知道是否有更好的方法可以做到这一点,但这应该可行。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top