Petit probleme innerHTML et url relative avec FireFox
1 réponse
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=3D"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 =E0 l'aide de la valeur initiale de <base href=3D'....'> ...
Voici un exemple qui pourra vous =E9clairer sur mon probleme :
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
SAM
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: <http://stephane.moriaux.pagesperso-orange.fr/truc/innerHTML_danger>
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; }
<a href="javascript:chgImg('http://autre.site/', 'img.jpg');">changer l'image, autre site</a>
-- sm
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:
<http://stephane.moriaux.pagesperso-orange.fr/truc/innerHTML_danger>
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;
}
<a href="javascript:chgImg('http://autre.site/', 'img.jpg');">changer
l'image, autre site</a>
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: <http://stephane.moriaux.pagesperso-orange.fr/truc/innerHTML_danger>
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; }
<a href="javascript:chgImg('http://autre.site/', 'img.jpg');">changer l'image, autre site</a>