У меня есть фрейм-страница с 3 фреймами. Верхний слой, навигация слева и рамка контента внизу справа.
Теперь я хочу показать всплывающее меню, когда пользователь щелкает правой кнопкой мыши фрейм с контентом. Поскольку div-контейнер не может выходить за рамки, моя идея заключалась в том, чтобы поместить весь фрейм-страницу в новый iframe. На этой странице у меня может быть второй iframe, который является моим всплывающим меню.
Так что теперь у меня есть этот макет:
<html> (start-page)
<iframe (real content)
<frameset
top-frame
navigation-frame
content-frame
>
>
<iframe> (my popup-menu, positioned absolutelly and hidden by default)
</html>
В моем фрейме содержимого у меня есть событие onmouseover, назначенное тегу body. Это событие должно открыть popup-iframe в текущей позиции мыши. И именно здесь моя проблема: как получить координаты мыши относительно верхнего сайта (стартовая страница в моем проекте)?
В настоящее время у меня есть эта функция mouseDown (прямо сейчас работает только в IE - но ее работа в FF & Co не должна быть проблемой ...)
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;
}
}
Как видите, переменные "event.screenX" и "screenY" - это не те переменные, которые я могу использовать, потому что они не относятся к главной странице.
Есть идеи?