Petit probleme innerHTML et url relative avec FireFox

Le
Tom
Voila, j'utilise XMLHttpRequest pour recharger un cadre de ma
page ;

Voila mon souci, je redefini, a chaque rechargement du cadre;, la
valeur de l'element base pour que le navigateur complete
convenablement les liens relatifs .

Pour IE pas de probleme, j'utilise un script de la forme suivante :
document.getElementsByTagName("base")[0].href="http://
monsite/nouveauDossier/";

Pour Firefox cette methode ne marche, je redeclare une balise <base>
dans l'utilisation de innerHTML (pas tres propre mais je voie pas
comment faire) et voici mon probleme Les URL relatives des images
sont convenablement completes . Mais les URL des liens eux sont
completes à l'aide de la valeur initiale de <base href='.'>

Voici un exemple qui pourra vous éclairer sur mon probleme :


<head>
<base href="http://monSite/image">
</head>

<div id=aff> RRRRa </div>

<script>
//document.getElementsByTagName("base")[0].href="http://monSite";
document.getElementById("aff").innerHTML="<base href='http://
monSite/'><a href='direction.html'><img src=photo.jpg></a>";
alert(document.getElementById("aff").innerHTML);
</script>


Merci par avance de vos reponses
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
SAM
Le #6585841
Voila, j'utilise XMLHttpRequest pour recharger un cadre de ma
page ;...

Voila mon souci, je redefini, a chaque rechargement du cadre;, la
valeur de l'element base pour que le navigateur complete
convenablement les liens relatifs ....

Pour IE pas de probleme, j'utilise un script de la forme suivante :
document.getElementsByTagName("base")[0].href="http://
monsite/nouveauDossier/";


l'exemple ne montre pas ça : il y manque l'anti-slash final.

De toute la manière ce n'est pas étonnant qu'innerHTML ne fonctionne pas:

Mais ici c'est plus grave : Firefox ne veut pas changer la base de la page.

Même le code :

function chge() {
var b = document.getElementsByTagName("base")[0];
var n = b.cloneNode(true);
n.href="http://autre.site/";
b.parentNode.replaceChild(n, b);
}

ne donne rien de mieux

Pourtant
alert(document.getElementsByTagName("base")[0].href);
donne bien le nouveau site .... :-(

Va falloir trouver une autre méthode ... ? !


function chgImg(url, imag) {
document.images[0].src = url+imag;
}

l'image, autre site</a>


--
sm

Publicité
Poster une réponse
Anonyme