Я только начинающий в веб-разработке. Так что это может быть очень глупый вопрос.
Я хочу включить quickblox на мой сайт, используя JavaScript. До сих пор я включил JavaScript на свой веб-сайт и создал приложение на стороне администратора quickblox.
Как настроить его на своем веб-сайте, чтобы войти и пообщаться. Я просмотрел документацию, но не понял, что делать дальше. Как окно QuickBlox открывается с нашей веб-страницы, если кто-нибудь может elabarate.
Любая помощь приветствуется.
Изменить: — Я отредактировал код, но теперь он показывает подключение на консоли, и тогда ничего не происходит. Я не знаю, передаю ли я неправильный URL или что-то в этом роде.
<script>
var QBAPP = {
app_id: 'xxxx',
auth_key: 'xxxxxxx',
auth_secret: 'xxxxxxxx'
};
// our parameters to connect to QuickBlox Chat service
var CHAT = {
server: 'chat.quickblox.com',
bosh_server: 'http://chat.quickblox.com:5280'
};
var params, connection;
params = {
login: 'xxxxxxx',
password: 'xxxxxxx'
};
QB.init(QBAPP.app_id, QBAPP.auth_key, QBAPP.auth_secret);
QB.createSession(params, function (err, res) {
if (err) {
console.log(err.detail);
} else {
connectChat(res.user_id, params.password);
}
});
function connectChat(user_id, password) {
var userJID = user_id + "-" + QBAPP.app_id + "@" + CHAT.server;
var userPass = password;
connection = new Strophe.Connection(CHAT.bosh_server);
connection.rawInput = rawInput;
//connection.rawOutput = rawOutput;
connection.connect(userJID, userPass, function (status) {
switch (status) {
case Strophe.Status.ERROR:
console.log('[Connection] Error');
break;
case Strophe.Status.CONNECTING:
console.log('[Connection] Connecting');
break;
case Strophe.Status.CONNFAIL:
console.log('[Connection] Failed to connect');
break;
case Strophe.Status.AUTHENTICATING:
console.log('[Connection] Authenticating');
break;
case Strophe.Status.AUTHFAIL:
console.log('[Connection] Unauthorized');
break;
case Strophe.Status.CONNECTED:
console.log('[Connection] Connected');
// Create an event handler for getting messages
connection.addHandler(onMessage, null, 'message', null, null, null);
// send a presence message
connection.send($pres().tree());
break;
case Strophe.Status.DISCONNECTING:
console.log('[Connection] Disconnecting');
break;
case Strophe.Status.DISCONNECTED:
console.log('[Connection] Disconnected');
break;
case Strophe.Status.ATTACHED:
console.log('[Connection] Attached');
break;
}
});
}
// logs
function rawInput(data) {
console.log('RECV: ' + data);
}
function rawOutput(data) {
console.log('SENT: ' + data);
}
function onMessage(msg) {
console.log(msg);
var to = msg.getAttribute('to');
var from = msg.getAttribute('from');
var type = msg.getAttribute('type');
var elems = msg.getElementsByTagName('body');
// we must return true to keep the handler alive.
// returning false would remove it after it finishes.
return true;
}
function sendMessage() {
params = {
to: '<some JID>', // JID of recipient QB User
from: connection.jid, // JID of sender QB user
type: 'chat' // type of the message
}
var msg = $msg(params).c('body').t('Hello world!');
connection.send(msg.tree());
}
</script>
<html>
<head>
<meta charset="UTF-8">
<title>Simple Recorder.js demo with record, stop and pause</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/quickblox/2.12.0/quickblox.min.js"></script>
<script type="javascript" src="<?php echo base_url() ?>assets/js/strophe"></script>
</head>
<body>
<h1>Welcome to chatbox</h1>
<p>begin chatting here</p>
</body>
</html>
Вы включили Quickblox CDN без номера версии.
src="https://cdnjs.cloudflare.com/ajax/libs/quickblox/x.x.x/quickblox.min.js">
Убедитесь, что вы добавили номер версии вместо x.x.x
Это последняя версия:
https://cdnjs.cloudflare.com/ajax/libs/quickblox/2.12.0/quickblox.min.js
Скрипт сейчас не загружен, поэтому он не будет работать.
Других решений пока нет …