Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Событие storage в Webkit. (https://javascript.ru/forum/events/30489-sobytie-storage-v-webkit.html)

B~Vladi 06.08.2012 14:01

Событие storage в Webkit.
 
Недавно столкнулся с проблемой, при которой Webkit не генерировал событие storage.
Такое поведение возникает, если изменён document.domain во вкладке, где меняются данные в localStorage.

Например, document.domain === 'subdomain.site.com', событие storage генерируется для всех вкладок с хостом subdomain.site.com. Изменяем на 'site.com', событие не генерируется ни на subdomain.site.com ни на site.com.

В ff и opera всегда генерируется.

Будьте внимательны и не трогайте document.domain, от него больше вреда, чем пользы :yes:

Dim@ 06.08.2012 14:04

B~Vladi,
насколько мне помниться на многих сайтах писалось(тся)
<script type="text/javascript">document.domain = document.domain</script>

из-за каких то багов

B~Vladi 06.08.2012 14:08

Цитата:

Сообщение от Dim@
из-за каких то багов

Скорей всего это с ослом связано, но я так не писал никогда, не вижу смысла. Что бы получить домен, нужно юзать location, а не document.domain и проблем не будет.
Всякие кросс-доменные вызовы можно делать многими другими способами, предпочтительно JSONP.

Dim@ 06.08.2012 14:10

B~Vladi,
просто вроде в ишаке или ещё где то без этой надписи document.domain === "";

Dim@ 06.08.2012 14:13

B~Vladi,
Цитата:

Сообщение от B~Vladi
Всякие кросс-доменные вызовы можно делать многими другими способами, предпочтительно JSONP.

с которыми вроде тоже в ишаке херня

B~Vladi 06.08.2012 15:10

Цитата:

Сообщение от Dim@
с которыми вроде тоже в ишаке херня

Не нужно поддерживать 6-7, а в 8 есть postMessage. Если нужен 6-7, то можно postMassage самому реализовать и всё ок будет.

melky 06.08.2012 19:12

Цитата:

Сообщение от B~Vladi
Не нужно поддерживать 6-7, а в 8 есть postMessage. Если нужен 6-7, то можно postMassage самому реализовать и всё ок будет.

для postMessage же придётся создавать фрейм? по-моему, jsonp удобней будет.

B~Vladi 06.08.2012 20:26

Цитата:

Сообщение от melky
jsonp удобней будет

Естественно.

Цитата:

Сообщение от melky
для postMessage же придётся создавать фрейм?

Нет, там хак есть, но можно и с фреймом.


Часовой пояс GMT +3, время: 03:29.