Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

IFrame location IE/Firefox

2 réponses
Avatar
Tranquille
Bonjour à tous,
bon alors voilà:
lorsque j'essaie d'affecter une valeur à la propriété location.href
d'une iframe, j'ai un comportement différent entre ie et firefox.
avec ie, ça marche, avec firefix, non.
voici l'adresse du site:
http://tranquille.xav.free.fr

cette page est composée de calques, dont un calque au centre dans
lequel je place une iframe via du javascript.
l'affichage de l'accueil au centre fonctionne avec les deux navigateurs
(donc lors de la première affectation), mais c'est lors de la modif de
la location que ça ne marche pas avec ff.
dans la console javascript de ff je n'ai pas de message d'erreur (ou
plutôt je n'en ai plus, avant j'avais un message relatif à une
propriété location pour laquelle je tentais d'affecter une valeur alors
que celle-ci ne proposait qu'une méthode get - en gros, traduit et de
mémoire)
Si je tente de récupérer le contenu de location.href, j'ai
about:blank... (que je fais afficher dans le document.title) avec ie,
rien avec ff.

voici le script qui manipule tout ça:

function ChargePage(Dossier, NumeroPage)
//dossier = répertoire
//NumeroPage = un numéro de page
// ce qui donnera par exemple informatique/page1.htm
{
// cette fonction de dreamwaver change la propriété innerHTML du
calque 'centre' (elle tient compte des différents navigateurs,
normalement):
MM_changeProp('centre','','innerHTML','<iframe id=iFrameCentre
name=iFrameCentre width=748 height=526 frameBorder=0 hspace=0 vspace=0
marginHeight=0 marginWidth=0 scrolling="no" noResize=true></iframe> ');
//ici on construit le chamin vers la page et on affecte:
iFrameCentre.location.href=Dossier + "/page" + NumeroPage + ".htm";
/ sert à tester...
document.title = iFrameCentre.location.href;
}

Qu'en pensez-vous?
Est-ce un problème d'ie qui serait un peu trop permissif?
Une erreur de conception?
d'autres idées, pistes?

par avance merci de vos lumières :-)

--
Va au bout. (Etat d'esprit)
tranquille.xav@free.fr
ATTENTION: Pour m'écrire, rajouter (pour tranquille) dans l'objet pour
passer le filtre antispam.

2 réponses

Avatar
YD
Bonjour à tous,
bon alors voilà:
lorsque j'essaie d'affecter une valeur à la propriété location.href
d'une iframe, j'ai un comportement différent entre ie et firefox.
avec ie, ça marche, avec firefix, non.
voici l'adresse du site:
http://tranquille.xav.free.fr
[...]
Qu'en pensez-vous?
Est-ce un problème d'ie qui serait un peu trop permissif?
Une erreur de conception?
d'autres idées, pistes?

par avance merci de vos lumières :-)


Un IFRAME n'a pas de propriété location. C'est IE qui, encore une fois,
autorise des écritures... faciles.

Pour accéder à 'location' du document de l'IFRAME deux moyens :
- utiliser la propriété src :
myIframe.src="http://tralala/";
- utiliser contentWindow.location :
myIframe.contentWindow.location.href="http://tralala/";

Si on veut juste changer la page contenue, il vaut mieux utiliser src,
c'est plus léger.


--
Y.D.

Avatar
Tranquille
*Ecrits* *de* *YD*:
Bonjour à tous,
bon alors voilà:
lorsque j'essaie d'affecter une valeur à la propriété location.href d'une
iframe, j'ai un comportement différent entre ie et firefox.
avec ie, ça marche, avec firefix, non.
voici l'adresse du site:
http://tranquille.xav.free.fr
[...] Qu'en pensez-vous?
Est-ce un problème d'ie qui serait un peu trop permissif?
Une erreur de conception?
d'autres idées, pistes?

par avance merci de vos lumières :-)


Un IFRAME n'a pas de propriété location. C'est IE qui, encore une fois,
autorise des écritures... faciles.



argh le cochon, ça fait un moment que je m'emm... avec ça, c'était si
simple :-)

Pour accéder à 'location' du document de l'IFRAME deux moyens :
- utiliser la propriété src :
myIframe.src="http://tralala/";
- utiliser contentWindow.location :
myIframe.contentWindow.location.href="http://tralala/";

Si on veut juste changer la page contenue, il vaut mieux utiliser src,
c'est plus léger.


et ça marche du tonnerre, trop fort :-)
et mille merci, c'est vraiment super les forums !!!

--
Chacun son tour. (Etat d'esprit)

ATTENTION: Pour m'écrire, rajouter (pour tranquille) dans l'objet pour
passer le filtre antispam.