Здравствуйте товарищи!
Чат умеет выводить во вкладку браузера (в title) уведомления о новых сообщениях. Хочу попробовать одновременно с этим менять favicon. Нашел вот такой скрипт:
let iconNew = 'https://noviy-kovcheg.ru/favicon.png';
function changeFavicon() {
document.getElementById('favicon').href = iconNew;
function newUpdate() {
update = setInterval(changeFavicon, 3000);
}
var docBody = document.getElementsByTagName('body')[0];
docBody.onload = newUpdate;
А вот фрагмент кода который как я понимаю меняет title:
kide.avisar = {
mensajes_nuevos: 0,
privados_nuevos: 0,
avisar: false,
original_title: "",
onFocusGained: function () {
//chrome bug
kide.avisar.avisar = false;
setTimeout(function () {
document.title = kide.avisar.original_title;
}, 100);
},
onFocusLost: function () {
kide.avisar.avisar = true;
kide.avisar.mensajes_nuevos = 0;
kide.avisar.privados_nuevos = 0;
},
handleVisibility: function () {
if (typeof window.onfocus == "function") {
var focus = window.onfocus;
window.onfocus = function () {
kide.avisar.onFocusGained();
(focus)();
};
}
else {
window.onfocus = kide.avisar.onFocusGained;
}
if (typeof window.onblur == "function") {
var blur = window.onblur;
window.onblur = function () {
kide.avisar.onFocusLost();
(blur)();
};
}
else {
window.onblur = kide.avisar.onFocusLost;
}
kide.avisar.original_title = document.title;
kide.events.add('onPrivadosReload', kide.avisar.onPrivadosReload);
kide.events.add('onAjaxReload', kide.avisar.onAjaxReload);
},
onPrivadosReload: function (xml) {
if (kide.avisar.avisar) {
var nuevos = xml.getElementsByTagName('mensaje').length + xml.getElementsByTagName('mensaje_offline').length;
kide.avisar.privados_nuevos += nuevos;
kide.avisar.changeTitle();
}
},
onAjaxReload: function (xml) {
if (kide.avisar.avisar) {
kide.avisar.mensajes_nuevos += xml.getElementsByTagName('mensaje').length;
kide.avisar.changeTitle();
}
},
changeTitle: function () {
if (kide.avisar.privados_nuevos > 0 || kide.avisar.mensajes_nuevos > 0) {
var msg = kide.msg.avisar;
msg = msg.replace("%p", kide.avisar.privados_nuevos);
msg = msg.replace("%m", kide.avisar.mensajes_nuevos);
document.title = msg;
}
}
};
kide.onLoad(function () {
kide.avisar.handleVisibility();
}, function () { });
Куда только не вставлял код, или ломает чат или не работает