Bonjour.
Dans une page située sur un serveur X, j'inclus la ligne suivante dans la balise <body> (vous allez comprendre pourquoi)
<script type="text/javascript" src="http://localhost:52800/scripts/962e975d-49b1-40c8-bfed-ed89ea340edb.eng.js"></script>
Voici le contenu du fichier en question:
Donc basiquement, j'insere du code HTML à l'endroit que je veux dans la page (voila pourquoi c'est dans body), le but étant d'afficher une image, et poper une infobulle quand on mouseover dessus.document.write('<link rel="stylesheet" href="http://localhost:52800/css/ehelp_ca.css" type="text/css"/>');
document.write('<script type="text/javascript" src="http://localhost:52800/scripts/ehelpheader.js"></script>');
document.write('<a class="eHelpTip" href="#" onmouseover="ehelp(\'962e975d-49b1-40c8-bfed-ed89ea340edb\', \'eng\');"><img src="images/qmark.gif" alt=""/><span id="962e975d-49b1-40c8-bfed-ed89ea340edb"></span></a>');
En effet, voici une partie du code du fichier javascript ehelpheader.js, et notament la fonction principale appellée lors du mouseover:
Les faits:var eHelpPath = 'http://localhost:52800/';
var httpRequest;
var requestUrl = eHelpPath + 'retrieve.aspx';
var helpSpanId;
var isHelpReceived = false;
var receivedHelp;
// FONCTION PRINCIPALE
function ehelp(helpId, language) {
if (isHelpReceived)
document.getElementById(helpId).innerHTML = receivedHelp;
else
{
var entire_url = requestUrl + "?id=" + helpId + "&lg=" + language;
helpSpanId = helpId;
httpRequest = CreateXmlHttpObject(stateChangeHandler);
httpRequest.open('GET', entire_url, true);
httpRequest.send(null);
}
}
// FONCTION APPELLE LORS DU CHANGEMENT DE STATE
function stateChangeHandler()
{
if (httpRequest.readyState == 4){
receivedHelp = httpRequest.responseText;
isHelpReceived = true;
document.getElementById(helpSpanId).innerHTML = receivedHelp;
}
else {
document.getElementById(helpSpanId).innerHTML = 'Loading...';
}
}
// CREATION DE LOBJET SELON LE NAVIGATEUR
function CreateXmlHttpObject(stateChangeHandler) {
try
{
// Firefox, Opera 8.0+, Safari
httpRequest = new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser does not support AJAX... The eHelp tips won't be displayed");
}
}
}
httpRequest.onreadystatechange = stateChangeHandler;
return httpRequest;
}
Sous FF, ca marche.
Sous IE, j'ai le Loading qui s'affiche, et apres j'ai la petite icone d'erreur javascript dans la barre de status, avec le message Erreur ligne 37 caractere 7 sur ma page .aspx qui ne m'aide pas beaucoup (la ligne 37 de cette page étant vide dans le code source...)
Je ne comprends pas trop ce que j'ai mal fait, au debut je pensais que c'était l'objet request mais en fait non puisque j'ai quand meme le message loading.
C'est quand il passe en state 4 apparement que ca chie, mais je ne comprends pas pourquoi.
Merci de votre aide
Partager