|
|
|
Будет ли выполнятся document.write("..."), вызывающегося из файла, загр. с др. домена?
|
|||
|---|---|---|---|
|
#18+
При этом поток у document уже закрыт. Обнаружил такую вещь, что в Firefox 3.5.1 (Gecko 1.9.1.9) document.write работает, а так как поток уже закрыт, происходит автоматический вызова document.open, затирающий весь документ. В Gecko версии 1.9.2 уже появляется такая штука как Principals : Starting with Gecko 1.9.2, document.open() uses the principal of the document whose URI it uses, instead of fetching the principal off the stack. As a result, you can no longer call document.write() into an untrusted document from chrome, even using wrappedJSObject." Источник Такое же поведение замечено и в Mobile Safari. В iOS 4.3 write выполняется, в более новых версиях судя по всему уже нет. С какой именно — я не смог выяснить. Так же выполняет write не самый новый Konqueror. В чём вообще проблема? Есть служебный js код веб аналитики, подгружающийся с другого домена. На этот код я никак не могу влиять — это сторонний сервис. В том коде и стоит дурацкий document.write, который в старых браузерах затирает document, а в новых браузерах получает отлуп за такую наглость. Я пытаюсь разобраться, почему в одном случае отрабатывает document.write, в другом — нет. Гуглёж дал только что, что везде не советуют использовать document.write, тем более в сторонних файлах. Не нашёл, где было бы прямо написано, что write из левого домена запрещён. В js консоли никаких access denied не наблюдается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2012, 18:55 |
|
||
|
|

start [/forum/topic.php?fid=22&fpage=146&tid=1448925]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
73ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
28ms |
get tp. blocked users: |
2ms |
| others: | 247ms |
| total: | 396ms |

| 0 / 0 |
