Ciao a tutti.
Ho un problema con JS su XP. Sto costruendo un sito e ad alcuni miei amici non funziona. L'unica cosa in comune è che usano XP. Uno usa Firefox e gli esce l'errore di javascript non abilitato che ho inserito ma con IE va bene, mentre l'altro usa IE e gli esce lo stesso errore. Il problema è che hanno Javascript abilitato!
Questo è il codice:
Resta l'errore di js non attivo e non esce "Caricamento...". Altre persone con XP + IE mi riportano che funziona... io non ci capisco più nulla.codice:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Diario della prima C</title> <link rel="stylesheet" type="text/css" media="screen" href="style.css" /> <script type="text/javascript" src="js/ajax.js"></script> <script type="text/javascript" src="js/process.js"></script> <script type="text/javascript"> window.onload = function() { document.getElementById("cnt-txt").innerHTML = "Caricamento..."; loadDate("cnt-txt", "content-text-cnt"); }; </script> </head> <body> <div class="content"> <div id="cnt-txt" class="content-text"> Errore! :( <div class="content-text-cnt"> JavaScript non è attivo! </div> </div> </div> <div class="arrows"> [img]img/arrow_l.png[/img] [img]img/arrow_r.png[/img] </div> </body> </html>
A loro funzionano perfettamente siti come Facebook molto ricchi di JS, perchè non gli funziona un banalissimo getElementById?
Grazie in anticipo a chi mi aiuterà,
Andrea.
(Giusto per completezza, riporto ajax.js e process.js: non sono il massimo, li ho scritto di fretta, quindi perdonate il codice traballante)
ajax.js:
process.js:codice:// Assegna HTTPXmlRequest function getXMLHttpRequest() { // Prende l'User Agent var userAgent = navigator.userAgent.toUpperCase(); // Supporto nativo? if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object") { return new XMLHttpRequest(); } // IE è particolare, e IE4 non supporta HTTPXmlRequest if(window.ActiveXObject && userAgent.indexOf("MSIE 4") < 0) { // IE6 usa un nome differente per l'oggetto ActiveX if(browserUtente.indexOf("MSIE 5") < 0) { return new ActiveXObject("Msxml2.XMLHTTP"); } // IE5 e 5.5 usano lo stesso nome return new ActiveXObject("Microsoft.XMLHTTP"); } } // Prende il contenuto di una pagina // Ritorna il contenuto in caso di successo // Stringa nulla se fallisce function getPageContent(url) { var ajax = getXMLHttpRequest(); ajax.open("get", url, false); // Richiesta sincrona ajax.setRequestHeader("Connection", "Close"); ajax.send(); // Controlliamo se l'operazione è riuscita if(ajax.status == 200) { return ajax.responseText; } return ""; }
codice:var curDate = new Date(); curDate.setDate(curDate.getDate() + 1); var weekDay = ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"]; var monthName =["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"]; // Fa il padding con zero per raggiungere due cifre e ritorna stringa // n: il numero function padTwo(n) { n = n + ""; //Cast a stringa if(n.length < 2) { return "0" + n; } return n; } // Carica la data curDate // cnt_id: id in cui viene caricata // subid: class della div in cui c'è il testo function loadDate(cnt_id, subid) { var date_txt = padTwo(curDate.getDate()) + "-" + padTwo(curDate.getMonth() + 1) + "-" + curDate.getFullYear(); var date_str = weekDay[curDate.getDay()] + " " + curDate.getDate() + " " + monthName[curDate.getMonth()] + " " + curDate.getFullYear(); document.getElementById(cnt_id).innerHTML = date_str + "<div class=\"" + subid + "\">" + getPageContent("data/" + date_txt + ".txt") + "</div>"; } // Carica il giorno precendente // cnt_id: id in cui caricare // subid: class della div in cui c'è il testo function prevDate(cnt_id, subid) { curDate.setDate(curDate.getDate() - 1); loadDate(cnt_id, subid); } // Carica il giorno successivo // cnt_id: id in cui caricare // subid: class della div in cui c'è il testo function nextDate(cnt_id, subid) { curDate.setDate(curDate.getDate() + 1); loadDate(cnt_id, subid); }

)
Rispondi quotando
e guarda se appare un alert
Modificherò getPageContent appena possibile per usare http.
