J'ai une page Web à base de cadres avec 3 cadres. Un topliner, une navigation sur le côté gauche et un cadre de contenu en bas à droite.Position du cadre en JavaScript
Maintenant, je veux afficher un menu contextuel lorsque l'utilisateur clique avec le bouton droit sur le cadre de contenu. Parce qu'un conteneur div ne peut pas sortir du cadre, mon idée était de placer toute la page d'image dans une nouvelle iframe. Dans cette page, je pourrais avoir un second iframe qui est mon menu contextuel.
Alors maintenant, je vais avoir cette mise en page:
<html> (start-page)
<iframe (real content)
<frameset
top-frame
navigation-frame
content-frame
>
>
<iframe> (my popup-menu, positioned absolutelly and hidden by default)
</html>
Dans mon cadre de contenu J'ai un « onmouseover » -event affecté au corps-tag. Cet événement devrait ouvrir le popup-iframe à la position actuelle de la souris. Et voici exactement mon problème: Comment obtenir les coordonnées de la souris relativement au top-site (début-page dans mon brouillon)?
Actuellement je rencontre ce mouseDown-fonction (fonctionne uniquement dans Internet Explorer, en ce moment - mais le faire marcher dans FF & Co ne devrait pas être le problème ...)
function mouseDown(e)
{
if (window.event.button === 2 || window.event.which === 3)
{
top.popupFrame.style.left = event.screenX + "px";
top.popupFrame.style.top = event.screenY + "px";
top.popupFrame.style.display = "";
return false;
}
}
Comme vous pouvez le voir , les variables "event.screenX" et "screenY" ne sont pas des variables que je peux utiliser, car elles ne sont pas relatives à la page principale.
Des idées?
Cadres dans les cadres ne sont pas une solution optimale. Je suggère que vous supprimez la page avec des définitions de jeu de cadres et remplacez cela par la page avec iframe. De cette façon, vous obtenez seulement un niveau de profondeur des cadres. – some
En outre, puisque vous utilisez seulement window.event dans votre mouseDown, cela ne fonctionnera que dans IE et peut-être Opera. – some
Comme je l'ai écrit dans ma question, je connais déjà le "window.even" - problème - donc c'est juste un code de test rien finalement ... –