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

html->javascript

7 réponses
Avatar
ppellero
Bonjour,

Est ce qu'il est possible faire l'=E9quivalent du lien html ci-dessous en=
=20
javascript, de mani=E8re qu'il s'ex=E9cute automatiquement en fin d'un=20
script de traitement, sans avoir a cliquer quoi que ce soit.

<a href=3D"panneau.php?article=3D4" target=3D"frame1"></a>

Merci de votre attention

--=20
Paul

7 réponses

Avatar
Mickaël Wolff
ppellero a écrit :

Est ce qu'il est possible faire l'équivalent du lien html ci-dessous en
javascript, de manière qu'il s'exécute automatiquement en fin d'un
script de traitement, sans avoir a cliquer quoi que ce soit.



<a href="panneau.php?article=4" target="frame1"></a>



Avec un navigateur compatible DOM Event :

document.addEventListener('load', function() {
document.getElementById('frame1').src = 'panneau.php?article=4' ; },
false } ;


--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Avatar
SAM
ppellero a écrit :
Bonjour,

Est ce qu'il est possible faire l'équivalent du lien html ci-dessous en
javascript, de manière qu'il s'exécute automatiquement en fin d'un
script de traitement, sans avoir a cliquer quoi que ce soit.

<a href="panneau.php?article=4" target="frame1"></a>

Merci de votre attention




si le target est une frame et qu'elle a un nom :

parent.frame1.location = 'panneau.php?article=4';


si le target est une iframe et qu'elle a un id :

document.getElementById('frame1').location = 'panneau.php?article=4';


si le target est un popup :

frame1.location = 'panneau.php?article=4';

Mais là y a des chances que ce soit refusé par les bloqueurs de popups


--
sm
Avatar
SAM
Mickaël Wolff a écrit :
ppellero a écrit :

Est ce qu'il est possible faire l'équivalent du lien html ci-dessous en
javascript, de manière qu'il s'exécute automatiquement en fin d'un
script de traitement, sans avoir a cliquer quoi que ce soit.



<a href="panneau.php?article=4" target="frame1"></a>



Avec un navigateur compatible DOM Event :

document.addEventListener('load', function() {
document.getElementById('frame1').src = 'panneau.php?article=4' ; },
false } ;



Heu ...
- ça marche ça avec des frames ?
- pourquoi onload ?
le "traitement" serait le parse du fichier par le navigateur ?
ce ne serait pas celui d'une fonction javascript ?
fonction qui pourrait être liée à un bouton, un lien ou autre.

--
sm
Avatar
Mickaël Wolff
SAM a écrit :

Heu ...
- ça marche ça avec des frames ?



Pourquoi ne marcherait-ce pas ?

- pourquoi onload ?



**de manière qu'il s'exécute automatiquement en fin d'un




script de traitement**

le "traitement" serait le parse du fichier par le navigateur ?
ce ne serait pas celui d'une fonction javascript ?
fonction qui pourrait être liée à un bouton, un lien ou autre.



C'est pas bête ça. Bon, ben alors il faut le mettre dans la file
d'évévement, et s'assurer qu'il sera bien le dernier déclenché. Masi je
ne sais pas s'il y a une garantie quelconque (je suspecte le
gestionnaire d'événements de pouvoir déclencher ces écouteurs de manière
asynchrone).

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Avatar
SAM
Mickaël Wolff a écrit :
SAM a écrit :

Heu ...
- ça marche ça avec des frames ?



Pourquoi ne marcherait-ce pas ?



parce que la frame 'frame1' n'existe pas dans le document ?
(qui est dans une autre frame par exemple et comme souvent)

enfin ... tout ça pour dire à ppellero :
et le contexte ?
quel est le contexte ?

--
sm
Avatar
ppellero
SAM a écrit :
Mickaël Wolff a écrit :
SAM a écrit :

Heu ...
- ça marche ça avec des frames ?



Pourquoi ne marcherait-ce pas ?



parce que la frame 'frame1' n'existe pas dans le document ?
(qui est dans une autre frame par exemple et comme souvent)

enfin ... tout ça pour dire à ppellero :
et le contexte ?
quel est le contexte ?



Je vous remercie tous pour vos réponses mais c'est le code ci-dessou s
qui a marché

parent.frame1.location = 'panneau.php?article=4';

il m'a permis de modifier la variable article dans ce iframe qui semble
imperméable à tout autre passage de variable.

Voili problème résolu.... pour l'instant
--
Paul Pellero Agay (Var)
mailto:
Site: http://www.pellero.net
Avatar
SAM
ppellero a écrit :



Je vous remercie tous pour vos réponses mais c'est le code ci-dessous
qui a marché

parent.frame1.location = 'panneau.php?article=4';



à tous les coups cet(te?) iframe n'avait pas d'id
ou alors ... ça ne fonctionne qu'avec IE ? !

il m'a permis de modifier la variable article dans ce iframe qui semble
imperméable à tout autre passage de variable.



Heu ... le lien html devait y parvenir, non ?

??? à mon idée : imperméable uniquement si panneau.php n'est pas dans le
même domaine que la page principale.

Ou alors il faut que le php modifie la page en fonction de l'art choisi
et il n'y a pas de variable à envoyer, uniquement une nouvelle page.

<form action="panneau.php" target="iframe1">
<select name="article">
<option value="1">blabla
<option value="2">blabla
<option value="3">blabla
<option value="4">blabla
</select>
<input type=submit value=GO>
</form>


Sinon côté variable à envoyer :

normalement
parent.iframe1.article = '4';
devrait fonctionner

function passeVar(iframe, variable, valeur) {
iframe = parent[iframe]?
parent[iframe] : document.getElementById(iframe)?
document.getElementById(iframe) :
false;
if(!iframe) {
alert('erreur de nom ou d'id ou d'emplacement d'iframe');
return;
}
iframe.variable = valeur;
iframe.fonctionDeMiseAJour();
}

function envoiValChamp(iframe, champ, valeur) {
iframe = parent[iframe]?
parent[iframe] : document.getElementById(iframe)?
document.getElementById(iframe) :
false;
if(!iframe) {
alert('erreur de nom ou d'id ou d'emplacement d'iframe');
return;
}
iframe = iframe.documentElement?
iframe.documentElement : iframe.document;
iframe.forms[0].elements[champ'].value = valeur;
}


--
sm