2011-01-31 3 views
3

Мне нравится приносить старое приложение интрасети на iPhone. Включается функция, чтобы скрыть область меню, которое находится в кадре:Изменение размера фрейма на Safari/iPhone

<frameset id="myFrameSet" cols="150,*"> 
    <frame id="menuFrame" SRC="menu.aspx" /> 
    <frame id="mainFrame" SRC="main.aspx" /> 
</frameset> 

Меню содержит в iconing скрывающего рамку меню до минимума. Для этого я использую это выражение JavaScript:

top.document.getElementById('myFrameSet').cols = "20,*"; 

Это хорошо работает во всех современных настольных браузерах. Но не в Safari на iPhone или iPad. Отладка это, похоже, правильно изменяет атрибут «cols», но размер кадра остается там, где он был раньше.

Любые предложения по этому вопросу? Или какой-либо другой способ изменить размер клиентской части размера кадра?

ответ

0

Честно говоря, я бы работал над решением, которое вообще не предполагает использование фреймов. Рамки в большинстве случаев устарели в сегодняшней сети из-за проблем с доступностью, а на мобильных и небольших устройствах эти проблемы становятся еще более заметными.

Рассмотрите возможность преобразования верхней рамы в верхнюю панель как <div> на все страницы, которые можно поместить с помощью CSS position:fixed; top:0;, чтобы вставить его в верхнюю часть экрана. Затем вы можете использовать JS для непосредственного изменения размера div. Спросите меня, хотите ли вы конкретный пример.

Смежные вопросы