2009-05-28 2 views
1

Ниже функция работает нормально для IE, но не работает для Mozilla и других браузеровфункции Javascript не работает в Mozilla

function CloseSession() {   
    alert("Inside Close"); 
     if ((window.event.clientX < 0) || (window.event.clientY<0)) { 
     alert("Inside Events"); 
     location.href = '/forms/sessionkill.aspx'; 
     }  
    } 

То, что я пытаюсь сделать это, у меня есть кнопка на странице после нажатия на эта кнопка, страница, открытая в новом окне с сеансом, сеанс будет поддерживаться до тех пор, пока пользователь не закроет браузер. на новой странице есть правильная навигация, у которой разные ссылки для разных страниц. Если я напрямую вызываю свой sessionkill.aspx, он убивает сессию всякий раз, когда на ссылкузывается функция выгрузки окна.

+0

Не знаю, почему это получило downvote, это разумно (если новичок) вопрос – annakata

+0

ОП является член сайта в течение 7 месяцев ! И еще не научился форматировать код, заставляя других ответственных членов сообщества делать это за него. Я думаю, что downvote был заслужен. – Cerebrus

+0

Дорогой я знаю, что это действительно плохо, но я попытался форматировать код выше, не могли бы вы дать несколько советов по этому поводу? –

ответ

1

Mozilla не устанавливает глобальное свойство window.event.

Я бы рекомендовал использовать инфраструктуру AJAX, такую ​​как JQuery (или даже Microsoft AJAX).

function CloseSession(event) { 
    // use Mozilla event parameter, or window.event if that was not passed  
    event = event || window.event; 
    alert("Inside Close"); 
    if ((event.clientX < 0) || (event.clientY<0)) { 
    alert("Inside Events"); 
    location.href = '/forms/sessionkill.aspx'; 
    }  
} 

Обновления: если вы используете JQuery:

function CloseSession(e) { 
    alert("Inside Close"); 
    if ((e.pageX < 0) || (e.pageX < 0)) { 
    alert("Inside Events"); 
    location.href = '/forms/sessionkill.aspx'; 
    }  
} 
+0

Здравствуйте, у меня есть код для этой реализации ajax или jquery. –

+0

Как использовать эту функцию в окне window.onbeforeunload –

+0

Пример jquery был бы похож, за исключением того, что событие будет передано как параметр (поэтому нет необходимости в проверке) и event.pageX и event.pageY вместо clientX и clientY. Смотрите: http://docs.jquery.com/Events/jQuery.Event – samjudson

Смежные вопросы