Problema di importa AJAX con IE7

Bluedr4gon

Nuovo Utente
15 Mag 2010
4
0
0
Salve a tutti.
Ho creato una pagina html che facesse l'import di file attraverso AJAX.
Volevo qualcosa che sostituisse l'iframe e AJAX mi è sembrata la scelta migliore.
Non ho avuto nessun problema tranne con Internet Explorer 7 che mi restituisce il seguente errore:

Messaggio: Accesso negato.

Linea: 83
Carattere: 1
Codice: 0
URI: file:///C:/Users/Valerio/Documents/Siti%20Web/London%20School%20-%20Preparazione%20Universitaria/ajax.js

La porzione di codice interessata è questa:
Codice:
<script type="text/javascript">
     ajaxinclude("home.htm");
</script>
e questo è il codice delle funzioni:
Codice:
function ajaxinclude(url) {
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.open('GET', url, false) //get page synchronously 
page_request.send(null)
writecontent(page_request)
}

function writecontent(page_request){
if (window.location.href.indexOf("http")==-1 || page_request.status==200)
document.write(page_request.responseText)
}

Cosa dovrei modificare per garantire la compatibilità con IE7 e precedenti?
Grazie in anticipo. :)
 
Niente da proporre? mi sto informando un po sul web ma una soluzione completamente efficace ancora non l'ho trovata
 
Da che URL sul browser lanci la richiesta???
Se la URL che usi è locale (c:/documents and setting..../miofile.html), Internet Explorer impedisca la chiamata AJAX alla tua risorsa home.htm, che magari non riesce a risolvere nel suo contesto locale.

Se invece usi una URL remota, prova a includere tale file via browser, non tramite ajax. Cosi facendo riesci a visualizzare il contenuto del file home.htm?

Altro tentativo: invece che ajaxinclude("home.htm"); prova con ajaxinclude("/home.htm");

Per fare debug ti consiglio di farti stampare a video il valore della variabile page_request.status, che è appunto quello dello status HTTP della chiamata AJAX

Spero di essere stato d'aiuto!
 
Grazie 1000
Il problema era proprio quello di lavorare da locale, da remoto invece tutto funziona
anche se per visualizzare decentemente la pagina è necessario attivare la modalità compatibilità,
ma questa immagino sia tutt'altra storia :rolleyes:
 

Discussioni simili