我正在尝试更新一个旧的cometd javascript包装器和测试客户端(原来是1.3.x版本),以使用更新的comet 2.5.1 javascript实现。我已经安装了所有依赖项,浏览器也可以找到它们,但是在Firebug控制台中出现错误(见下图)
我的HTML头部如下:
那么这不是定义org吗?请注意,控制台中的所有错误都不是来自
谢谢。
更新 - 进一步测试
我将标题减少到:
<head>
<title>CometD Tester</title>
<link rel="stylesheet" type="text/css"href="style/style.css" />
<script type="text/javascript" src="org/cometd/Cometd.js"></script>
<script type="text/javascript" src="org/cometd/AckExtension.js"></script>
<script type="text/javascript" src="org/cometd/ReloadExtension.js"></script>
<script type="text/javascript" src="jquery/jquery-1.9.0.js"></script>
<script type="text/javascript" src="jquery/jquery.cookie.js"></script>
<script type="text/javascript" src="jquery/jquery.cometd.js"></script>
<script type="text/javascript" src="jquery/jquery.cometd-reload.js"></script>
<script type="text/javascript" src="js/myCometd.js"></script>
</head>
所有这些都在浏览器中找到。查看 Cometd.js
,我发现以下内容:
org.cometd.Cometd = function(name)
{
....
}
那么这不是定义org吗?请注意,控制台中的所有错误都不是来自
Cometd.js
。否则我看不到任何关于"org.cometd"的定义。如果有人能帮助我解决问题,我将非常感激。我正在使用Tomcat 7,以下是目录结构:谢谢。
更新 - 进一步测试
我将标题减少到:
<head>
<title>CometD Tester</title>
<link rel="stylesheet" type="text/css"href="style/style.css" />
<script type="text/javascript" src="org/cometd/Cometd.js"></script>
</head>
我已经从index.html中删除了所有的JS。现在唯一包含的JS是来自comet.org的Cometd.js。但是仍然存在相同的错误...来自该脚本的第一行:
org.cometd.Cometd = function(name)
我不确定我错过了什么。
编辑 - 添加jquery.cometd-reload.js 这是文件的内容。看起来它是将cometd库的“重新绑定”功能改为使用jquery库(?)。我对JS不够熟悉,无法调试它(我真正的专长是C ++开发)。
(function($)
{
function bind(org_cometd, cookie, ReloadExtension, cometd)
{
// Remap cometd COOKIE functions to jquery cookie functions
// Avoid to set to undefined if the jquery cookie plugin is not present
if (cookie)
{
org_cometd.COOKIE.set = cookie;
org_cometd.COOKIE.get = cookie;
}
var result = new ReloadExtension();
cometd.registerExtension('reload', result);
return result;
}
if (typeof define === 'function' && define.amd)
{
define(['org/cometd', 'jquery.cookie', 'org/cometd/ReloadExtension', 'jquery.cometd'], bind);
}
else
{
bind(org.cometd, $.cookie, org.cometd.ReloadExtension, $.cometd);
}
})(jQuery);