Вероятно, это то, что вы могли бы использовать websockets , чтобы каждое окно отправляло свою информацию обратно в приложение, а затем обновляло ее, но это не поддерживается во всех браузерах и фактически Я считаю, что в настоящее время удалены из большинства сборок из-за проблем безопасности со спецификацией.
Для автономных приложений, если они находятся в одном домене, который, как я предполагаю, будет локальным, вы могли бы использовать локальное хранилище или даже файлы cookie, а затем провести опрос приложений на предмет изменения API хранилища?
Я недавно провел несколько экспериментов с автономным локальным хранилищем, и я могу локально поддерживать состояние между окнами с Chrome, в Firefox это не работает, но я считаю, что это исправлено в FF4 RC
Редактировать 2:
Сложил быстрое и грязное доказательство концепции в двух файлах:
Индекс 1:
<body>
<div id="result">x</div>
</body>
<script type="text/javascript">
var i = 0;
function update(){
setTimeout(function(){
localStorage.setItem("bar", i);
document.getElementById('result').innerHTML = "localstorage set to " + localStorage.getItem("bar");
i++;
console.log(i);
update();
}, 2000);
}
update();
</script>
Индекс 2:
<body>
<div id="result">s</div>
</body>
<script type="text/javascript">
function update(){
setTimeout(function(){
document.getElementById('result').innerHTML = localStorage.getItem("bar");
update();
}, 1000);
}
update();
</script>
Локально открывая их в разных окнах Chrome, второе отобразит состояние, заданное циклом в первом окне. Я все еще не работал в FireFox 4 (Mozilla Dev вчера поклялся мне, что автономное локальное хранилище работает, да ладно). Вы, вероятно, можете заставить его работать в IE через http://www.modernizr.com/, но я еще не проверял это.