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?