Originariamente inviato da Xinod
se sei interessato all' uso massiccio di ajax, preoccupati prima di tutto di salvaguardare le funzionalita' tipiche di una normale navigazione (pulsanti avanti/indietro del browser, bookmarking...) oltre che, ovviamente, a garantire la stessa anche a javascript disattivato
Simulare i pulsanti avanti e indietro dovrei riuscirci...
Il sito potrà girare anche senza javascript, comunque sarà limitato...si potranno leggere i contenuti ma non si potrà interagirci in modi che il javascript consente, cmq punto a un'utenza che deve avere il javascript attivo...preferisco che non navighino altrimenti
Un'ultima cosa, mi è sorta una problematica...stavo creandomi una libreria per semplificarmi l'utilizzo dell'XMLHttpRequest quando sono incappato nel seguente problema
(Ci troviamo all'interno di una funzione per creare un'istanza di una classe...sto creando la proprietà OBJ)
codice:
this.obj=null;
try {
// Firefox, Opera 8.0+, Safari
this.obj=new XMLHttpRequest();
} catch (e) {
// Internet Explorer
try {
this.obj=new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
this.obj=new ActiveXObject("Microsoft.XMLHTTP");
}
}
Fin qui ok...il problema sorge quando
codice:
this.load=function(tipo,surl,tosend,async) {
if (this.obj==null) {
alert("Your browser doesn't support XMLHTTP");
return false;
}
this.obj.onreadystatechange=this.ChangePage;
try {
this.obj.open(tipo,surl,async);
this.obj.send(tosend);
return true;
} catch(e) {
alert("Problems in loading the page");
return false;
}
return true;
}
L'errore in console di firefox è "obj has no properties"...quindi deduco che non erediti le proprietà di XMLHttpRequest()...c'è soluzione?o devo per forza dichiarare tale oggetto come variabile(e quindi rinunciare a fare la libreria Object Oriented...o comunque, la devo fare diversamente (dovrei dichiarare due variabili invece di una per ogni volta che uso la libreria...) o cmq in metodi meno belli di come avrei voluto...
grazie per l'aiuto