让我们直接解决问题:
我实际上正在做一个 firefox 扩展,我想在其中实现 jWebsocket API 以构建一个小型聊天。我将名为test.js的主脚本文件和 jWebsocket 库放入 js 文件夹中。只是为了让你知道,这是我的第一个 Firefox 扩展。
所以在我的 XUL 文件中我得到了这个(当然,只针对脚本部分,没有显示接口代码):
<overlay id="test-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://test/content/test.js" />
<script type="application/x-javascript" src="chrome://test/content/js/jwebsocket.js" />
jwebsocket.js是我需要根据 jWebsocket 网站调用的文件。
在我的主脚本文件test.js 中,我从以下内容开始:
if (jws.browserSupportsWebSockets())
{
jWebSocketClient = new jws.jWebSocketJSONClient();
}
else
{
var lMsg = jws.MSG_WS_NOT_SUPPORTED;
alert(lMsg);
}
jws 是创建到jwebsocket.js文件中的命名空间。
当然,我有所需的独立服务器在后台运行,并且可以正常工作。
因此,根据我在各种网站上的理解,如果将 js 文件加载到 javascript 分配的内存空间(带有标签)中,则每个文件之间应该可以使用所有命名空间/函数。但这主要是针对面向 HTML 的问题,所以我不确定它是否适用于 XUL/Firefox 环境。
但是脚本在第一次 jws 调用时一直失败。
关于这里出了什么问题的任何想法?我现在被困了2天:/