Я нашел плагин для поддержки списка в strophe.js.Strophe.js: Как использовать плагин strophe.roster.js
Я нашел плагин here, но документации недостаточно.
Это фрагмент функции инициализации кода:
init: function(conn)
{
...
var newCallback = function(status)
{
if (status == Strophe.Status.ATTACHED || status == Strophe.Status.CONNECTED)
{
try
{
// Presence subscription
conn.addHandler(roster._onReceivePresence.bind(roster), null, 'presence', null, null, null);
conn.addHandler(roster._onReceiveIQ.bind(roster), Strophe.NS.ROSTER, 'iq', "set", null, null);
console.log(items);
}
catch (e)
{
Strophe.error(e);
}
}
};
...
Strophe.addNamespace('ROSTER_VER', 'urn:xmpp:features:rosterver');
},
Моя проблема в том, что я не получу свой список, поэтому присутствие не может быть обновлен.
Запрос на реестр, который должен быть отправлен по функции init, но я не смог его найти.
Кто-нибудь использует этот плагин?
Как получить список от этого плагина, так как код сильно отличается от XMPP Professional Programming book.
Заранее спасибо :)
Я попробовать использовать 'roster.get (обратный вызов)', но я не получил мое присутствие реестром :( –
Ваше присутствие или люди в вашем реестре? Другие реестры, и вы должны иметь подписку = «оба», чтобы получать объявления о присутствии. –
Наличие людей в моем реестре. 'roster.get()' - функция, чтобы получить список из server & push в массив 'items'? Я обнаружил, что' roster.get() 'не установлен в' init', поэтому мы должны вызывать его вручную. Проблема заключается в обработчике присутствия: 'roster._onReceivePresence' * * вызывается перед ** 'roster.get()' в 'init', поэтому присутствие' items' не будет c ollected, потому что 'items' пуст/null. –