Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   window.parent в Google Chrome в файловом протоколе (https://javascript.ru/forum/events/34195-window-parent-v-google-chrome-v-fajjlovom-protokole.html)

Кора Оливе 23.12.2012 22:58

window.parent в Google Chrome в файловом протоколе
 
Здравствуйте!
Я делаю сайт на конкурс, сдавать не в Web'e, следовательно, у меня файловый протокол. При этом страниц много, и меню может меняется. Чтобы не менять его на всех страницах, решил добавить либо его, либо контент в iframe (что именно - на суть вопроса не влияет).
Дальше я столкнулся с тем, что iframe не подстраивается под высоту загружаемых страниц. Меню у меня раздвигающееся, так что на него эта проблема тоже распространяется.
В результате я пришел к выводу, что внутри iframe скрипт должен брать высоту body или чего-нибудь другого и отдавать наверх/сразу изменять высоту iframe в родительском документе. Т.е. в iframe:
window.parent.document.getElementById('content').style.height = window.document.getElementByTagName('body').style.height

Сам код не проверял, проверял на изменении содержимого div'a родителя:
window.parent.document.getElementById('divId').innerHTML = 'Hello World!'

Это работает, но не везде: не срабатывает в Google Chrome (напоминаю, файловый протокол, т.к. читал, что в web'e все работает). Провел несколько тестов с alert, выяснил, что проблема начинается в parent. Замена на window.top не помогла, видимо, Chrome как-то по-другому определяет родителя в файловом протоколе.
Не подскажите, как можно решить/обойти эту проблему?
Также буду благодарен, если подскажите, как осуществить Ajax в файловом протоколе (т.е. как загрузить текстовый файл)?


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