2010-10-11 1 views

ответ

1

Как кажется, нет прямого решения, это то, что я сделал, если кому-то интересно.

Периодически пинговая фоновая страница из всплывающего окна, и если фоновая страница не получена в течение некоторого периода времени, она вызывает требуемое действие. Работает как бомба замедленного действия :)

На фоне страницы:

var timeoutId = 0; 
function popupPing() { 
    if(timeoutId != 0) { 
     clearTimeout(timeoutId); 
    } 

    timeoutId = setTimeout(function() { 
     popupClosed(); 
     timeoutId = 0; 
    }, 1000); 
} 

function popupClosed() { 
    //... 
} 

В появившемся:

ping(); 
function ping() { 
    chrome.extension.getBackgroundPage().popupPing(); 
    setTimeout(ping, 500); 
} 

(обратите внимание, что всплывающие свистит в 2 раза быстрее, чем "триггер" времени в фоновом режиме страницы)

+2

Хотя я действительно надеюсь, что есть лучший ответ (а если нет, то мы должны подать ошибку), это довольно крутой хак. Переключатель мертвого человека: http://en.wikipedia.org/wiki/Dead_man's_switch – npdoty

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

  • Нет связанных вопросов^_^