Здравствуйте!
Я делаю сайт на конкурс, сдавать не в 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 в файловом протоколе (т.е. как загрузить текстовый файл)?