Получить событие мыши Firefox на onbeforeunload, когда оно не существует? - PullRequest
1 голос
/ 24 августа 2010

так что событие onbeforeunload не имеет информации о мышке, так как я могу получить XY мыши?Я пытаюсь узнать, нажал ли пользователь на кнопку закрытия в браузере, чтобы сразу же выйти из системы (20 минут сеанса - это слишком долго для ресурса, но мы не будем сокращать его, чтобы разозлить клиента).

В IE я могу просто получить доступ к информации о мышке, чтобы выяснить, нажал ли пользователь кнопку закрытия или нет во время загрузки.Для FF я предполагаю использовать параметризованное событие, которое, к сожалению, вообще не имеет информации о мыши.

(Обратите внимание, это не требуется, если есть событие REAL onBrowserClose.я работаю над альтернативами.)

Спасибо всем.

Просто чтобы убедиться, что люди это понимают, вот пример.

<head runat="server">
    <title>Untitled Page</title>
<script type="text/javascript">
    function test(event) {
        var X = window.event ? window.event.screenX : event.clientX;

        // IE only because event.clientX for FF = fail.
        if (X == null) {
            alert("No X");
            return;
        }
    };
</script>

</head>
<body onbeforeunload="test(event);">

1 Ответ

0 голосов
/ 02 сентября 2010

Вы можете заполнить движение мыши переменными в событии mousemove и затем использовать эти переменные в событии onbeforeunload ...

<head runat="server">
    <title>Untitled Page</title>
<script type="text/javascript">
    var X = 0;

    function MouseMoveHandler(event) {
        X = window.event ? window.event.screenX : event.clientX;

        // IE only because event.clientX for FF = fail.
        if (X == null) {
            alert("No X");
            return;
        }
    };

    function BeforeUnloadHandler() {
        alert(X);
    }
</script>

</head>
<body onbeforeunload="BeforeUnloadHandler();" onmousemove="MouseMoveHandler(event);">
...