function getXmlHttpRequestObject() {
if (window.XMLHttpRequest) {
return new window.XMLHttpRequest;
}
else {
try {
return new ActiveXObject("MSXML2.XMLHTTP.3.0");
}
catch(ex) {
return null;
}
}
}
var receiveReq = getXmlHttpRequestObject();
var lastMessage = 0;
var mTimer;
window.onload = startMessage();
//Function for initializating the page.
function startMessage() {
getMessage1();
}
function getMessage() {
if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
receiveReq.open("GET", '/getmsgmain.php?last=' + lastMessage, true);
receiveReq.onreadystatechange = handleReceiveChat;
receiveReq.send(null);
}
}
function getMessage1() {
if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
receiveReq.open("GET", '/getmsgmain.php?last=' + lastMessage, true);
receiveReq.onreadystatechange = handleReceiveChat1;
receiveReq.send(null);
}
}
function handleReceiveChat() {
if (receiveReq.readyState == 4) {
var xmldoc = receiveReq.responseXML;
var message_nodes = xmldoc.getElementsByTagName('message');
var n_messages = message_nodes.length
for (i = 0; i < n_messages; i++) {
var lastMessage1 = (message_nodes[i].getAttribute('id'));
}
if(lastMessage1>lastMessage)
{
titlebarTextAlert();
lastMessage=lastMessage1;
}
mTimer = setTimeout('getMessage();',10000); //Refresh our chat in 2 seconds
}
}
function handleReceiveChat1() {
if (receiveReq.readyState == 4) {
var xmldoc = receiveReq.responseXML;
var message_nodes = xmldoc.getElementsByTagName('message');
var n_messages = message_nodes.length
for (i = 0; i < n_messages; i++) {
var lastMessage1 = (message_nodes[i].getAttribute('id'));
lastMessage=lastMessage1;
}
mTimer = setTimeout('getMessage();',10000); //Refresh our chat in 2 seconds
}
}
var titleSwitchCount = 0;
var titleSwitchLimit = 10;
var titleOriginalText = document.title;
var titleText = "Masz nową wiadomość!";
var titleDelay = 500;
function titlebarTextAlert() {
// Failsafe
if( titleSwitchCount) return;
titlebarSwitch();
}
function titlebarSwitch() {
if( document.title == titleOriginalText) {
// New message text
document.title = titleText;
titleSwitchCount++;
} else {
// Original text
document.title = titleOriginalText;
if( titleSwitchCount == titleSwitchLimit) titleSwitchCount = 0;
}
// If count is 0 then we must have just reset it
if( titleSwitchCount) setTimeout( "titlebarSwitch();", titleDelay);
}
na FF ładnie pokazuje "Masz nową wiadomość" natomiast IE zamienia tytuł na UNDEFINED i nawet nie powraca do starego tytułu... Nie mam pojęcia dlaczego tak się dzieje czy w IE document.title nie jest elementem DOM?