Bonjour!
J'ai déjà posté un poste similaire il y a quelques jours, mais là je suis tombé sur un autre problème
J'ai une page aspx dans laquelle je veux afficher une iframe qui va m'afficher une autre page web. Je veux que lorsque l'url de la page web contenue dans mon iframe a une certaine valeur, alors il faut faire une redirection de ma page principale vers un autre lien. Mon idée est de tester l'url de la page contenue dans l'iframe à chaque évènement "onload".
Voici mon code :
Malheureusement, je n'arrive jamais à récupérer l'adresse url de la page affichée dans l'iframe. J'ai essayé de différentes manières :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <script type="text/javascript"> function Toto() { alert(document.getElementById('aa').contentWindow.document.location); if (window.frames["aa"].location.href == "http://url spécifique") { window.parent.location.href = "autre url"; } } </script> <iframe src="url" id="aa" runat="server" height="785" width="503" />
- document.getElementById('aa').contentWindow.document.location
- window.frames["aa"].location.href
Selon la manière dont je récupère mon objet, l'objet est de type "object" ou "iframe". Mais quoi qu'il arrive je n'arrive pas à accéder aux champs url ou src de mon objet. Je me retrouve avec des valeurs "undefined", ou bien j'ai une erreur dans ma page qui indique que l'accès à l'objet "location" ou "href" n'est pas autorisé. Je m'excuse pour mes résultats un peu vagues, mais je ne peux faire ces tests qu'à mon bureau.
Sinon, j'ai remarqué que l'id de mon iframe a changé quand j'affiche la source de ma page, il a remplacé 'aa' par 'ctl00_PlaceHolderMain_aa'. Cela semble normal, mais qu'est ce qui est le mieux: utiliser l'id 'aa' ou 'ctl00_PlaceHolderMain_aa' pour faire mes tests? Est-ce dangereux de manipuler mon objet comme cela? ou y-a t'il un autre moyen de faire qui serait plus correct?
D'avance merci pour votre aide.
Partager