在构建xmpp web客户端的时候, 如果网站和xmpp服务器的域名不一致,就需要用到跨域请求了。
flXHR.js
可以使用 flXHR.js 这个库来实现跨域请求,因为使用了 strophe,所以需要加载以下两个js。之后会在 strophe 中会使用 flxhr 来发起请求。
domaincross.xml
ejabberd 配置文件服务器
但是 mod_http_fileserver 有一个问题:
想到的解决的办法,是另外一个端口启动 web_admin。
具体配置方法如下:
{5280, ejabberd_http, [
%%captcha, 验证码功能
%%http_poll
%%web_admin,
{request_handlers, [
{["http-bind"], mod_http_bind},
{[], mod_http_fileserver}
]}
]},
{5281, ejabberd_http, [
web_admin
]}
{mod_http_fileserver, [
{docroot,
{accesslog,
{content_types, [{".xml"}]}
]},
记得把路径替换成你的。
3.在 路径下加入 domaincross.xml