gpt4 book ai didi

javascript - XMPP - 示例第 3 章 "Professional XMPP Programming with JavaScript and jQuery"不起作用

转载 作者:行者123 更新时间:2023-11-30 13:33:01 25 4
gpt4 key购买 nike

我是 XMPP 的新手,正在编写第一个“HELLO”代码。请花点时间查看以下代码(.zip 位于本主题末尾):

<html>

<head>
<title>Hello - Chapter 3</title>
<style type="text/css">
body {
font-family: Helvetica;
}

h1 {
text-align: center;
}

.hidden {
display: none;
}

#log {
padding: 10px;
}
</style>
<script language="javascript" type="text/javascript" src="scripts/jQuery.js"></script>
<script language="javascript" type="text/javascript" src="scripts/jQueryUI.js"></script>
<script language="javascript" type="text/javascript" src="scripts/strophe.js"></script>
<script language="javascript" type="text/javascript" src="scripts/flXHR.js"></script>
<script language="javascript" type="text/javascript" src="scripts/strophe.flxhr.js"></script>
<link rel="stylesheet" href="hello.css"></link>
<script language="javascript" type="text/javascript">
var Hello = {
connection: null,
log: function(msg) {
$("#log").append("<p>" + msg + "</p>");
}
};

$(document).ready(function() {
$("#login_dialog").dialog({
autoOpen: true,
draggable: false,
modal: true,
title: "Connect to XMPP",
buttons: {
"Connect": function() {
$(document).trigger("connect", {
jid: $("#jid").val(),
password: $("#password").val()
});
$("#password").val("");
$(this).dialog("close");
}
}
});

$(document).bind("connect", function(ev, data) {
var conn = new Strophe.Connection("http://bosh.metajack.im:5280/xmpp-httpbind");
conn.connect(data.jid, data.password, function(status) {
if (status === Strophe.Status.CONNECTED) {
$(document).trigger("connected");
} else if (status === Strophe.Status.DISCONNECTED) {
$(document).trigger("disconnected");
}
});
Hello.connection = conn;
});

$(document).bind("connected", function() {
// Inform the user
Hello.log("Connection established");
});

$(document).bind("disconnected", function() {
Hello.log("Connection terminated.");
// Remove dead connection object
Hello.connection = null;
});
});
</script>
</head>


<body>
<h1>Hello</h1>
<div id="log"></div>

<!-- Login dialog -->
<div id="login_dialog" class="hidden">
<label>JID:</label><input type="text" id="jid">
<label>Pwd:</label><input type="password" id="password">
</div>

</body>

</html>

根据文档和代码,它必须说“已建立连接”或“已终止连接”。但事实并非如此。我试着把 alert("It runs to here!"); 放在代码的每一行中,它仍然是 alert()。当我把它放在 bind("connected") 和 bind("disconnect") 中时,它不再发出警报。所以我猜代码不能运行到那里。我以前从来没有做过,也很少有这方面的文档,所以我现在不知道该怎么做。

问题:请大家看一下,告诉我哪里出了问题?我自己还在调试中!

额外信息:这些是我的 web 文件夹中的内容(我担心缺少 javascript 框架文件)。所有js文件都是最新版本。

  • index.html
  • 脚本/

    • jQuery.js
    • jQueryUI.js
    • strophe.js
    • flensed.js
    • flXHR.js
    • flXHR.swf
    • flXHR.vbs
    • swfobject.js
    • 更新播放器.swf
    • checkplayer.js
  • CSS/

    • 不重要...

这是我的代码,请花时间查看:http://xx3004.kodingen.com/XMPP

如果有任何帮助,我将不胜感激。

[x]

最佳答案

你的代码没问题,问题出在为使用 Strophe 建立连接而提供的 URL。

var conn = new Strophe.Connection("http://bosh.metajack.im:5280/xmpp-httpbind");

尝试找到服务器的位置,否则在您的机器上本地安装一个 xmpp 服务器 (vysper),并将 URL 更改为 http://localhost:8080/bosh/

也尝试评论 flxhr 包含。

关于javascript - XMPP - 示例第 3 章 "Professional XMPP Programming with JavaScript and jQuery"不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6011158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com