OVH Cloud OVH Cloud

Problème de drop dans un IFRAME

2 réponses
Avatar
Claude Schneegans
Bonjour,

J'ai un IFRAME sur lequel je suis capable de définir un event onclick,
mais le ondragover ne veur rien savoir.
Voir la page ici : http://www.contentbox.com/claude/test/iframe.htm
Qaund on clique sur le IFRAME, ça marche, mais pas moyen d'obtenir la
moindre
réaction quand on traîne qqch dessus :-(
Une idée qqun ?

Voici le code source :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Untitled</title>
</head>

<body>
<IFRAME ID="myIframe" WIDTH="400" HEIGHT="200"></IFRAME>

<SCRIPT>
function init()
{
var myIframe=document.frames["myIframe"];
myIframe.document.onclick = mouseClick;
myIframe.document.ondragover = dragOver;
}
function mouseClick ()
{
alert("Click!");
}
function dragOver ()
{
alert("Drag over!");
}
window.onload=init;
</SCRIPT>
</body>
</html>

2 réponses

Avatar
Jean
Bonjour,

J'ai un IFRAME sur lequel je suis capable de définir un event onclick, mais
le ondragover ne veur rien savoir.
Voir la page ici : http://www.contentbox.com/claude/test/iframe.htm
Qaund on clique sur le IFRAME, ça marche, mais pas moyen d'obtenir la moindre
réaction quand on traîne qqch dessus :-(
Une idée qqun ?

Voici le code source :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Untitled</title>
</head>

<body>
<IFRAME ID="myIframe" WIDTH="400" HEIGHT="200"></IFRAME>

<SCRIPT>
function init()
{
var myIframe=document.frames["myIframe"];
myIframe.document.onclick = mouseClick;
myIframe.document.ondragover = dragOver;
}
function mouseClick ()
{
alert("Click!");
}
function dragOver ()
{
alert("Drag over!");
}
window.onload=init;
</SCRIPT>
</body>
</html>


Le problème ne concerne apparement pas l'iframe mais l'objet document.

Je pense que c'est une erreur dans la documentation MSDN qui indique
que l'objet document gère l'événement ondragover ... ce qui "de visu"
ne me semble pas être le cas.

Je constate par contre que la documentation n'indique pas la balise
HTML comme gérant cet événement ... or "de visu" ... c'est le cas :-)

Pour aller au plus haut dans la hiérarchie du document vous pouvez donc
écrire :

myIframe.document.documentElement.ondragover = dragOver;

comme cet événement est géré par les éléments BODY (documenté) et HTML
(non documenté).

Ceci dit dans l'absolu parceque je ne vois pas de travail où j'ai
utilisé cet événement (ou autres associés au glisser/déplacer) sur
l'objet document.
Je ne sais donc plus celui-ci était implémenté sur l'objet document
précédemment ,si une configuration de sécurité quelconque a été
modifiée dans IE, etc, bla bla bla

Amicalement,

--
Jean - JMST
Belgium

Avatar
Claude Schneegans
Je pense que c'est une erreur dans la documentation MSDN qui indique
que l'objet document gère l'événement ondragover ... ce qui "de visu" ne


me semble pas être le cas.

En effet, de même l'objet IFRAME n'aurait pas d'objet document, ce qui
n'est pas le cas.
Mais enfin bon, au moins pour IE on a de la doc, ce qui est loin d'être
le cas chez Mords-zy-la... :-/

myIframe.document.documentElement.ondragover = dragOver;



Génial, ça marche ! Mille fois merci.