2014-11-20 2 views
0

Мой сценарий: Несколько копий одного и того же веб-приложения открыты на нескольких вкладках одного и того же браузера. Я перехожу на одну из вкладок. Я нажимаю на кнопку, присутствующую на странице, и при нажатии этой кнопки он регистрирует событие фокуса в окне.Обмен несколькими вкладками с javascript

$('#btn').click(function(event){ 
if (/*@[email protected]*/false) { 
    document.addEventListener("focusin", onFocus,false); 
} else { 
    window.addEventListener("focus", onFocus,false); 
} 

function onFocus(){$ 
    //Reload Page if logged out$ 
    window.location.reload();$ 
};$ 

Ожидается, что при переключении на другие вкладки и страница следует перезагрузить.

Проблема в том, что Страница на другом не перезагружается.

+1

Вы просматриваете сообщение перекрестной вкладки. Посмотрите на библиотеку, называемую postaljs, которая имеет плагин для федеративной связи, который может отправлять сообщения между вкладками и окнами. Может быть, хорошее место для начала. –

+1

Я думаю, вам нужны сетевые сокеты. Взгляните на http://socket.io/ –

+0

Позвольте мне пересмотреть свой вопрос. Если я регистрирую событие при загрузке страницы только тогда, это будет работать по назначению. Но если регистрировать событие в on на основе какого-то другого события, то оно не работает. –

ответ

0

Если я добавляю слушателя при загрузке страницы, тогда он работает.

$(document).ready(function(){ 
    if (/*@[email protected]*/false) { // check for Internet Explorer 
    document.addEventListener("focusin", onFocus,false); 
    } else { 
    window.addEventListener("focus", onFocus,false); 
    } 
    return true; 
}); 
Смежные вопросы