Сафари Кадров Невидимые Полосы Прокрутки


Я работаю на веб-сайте, который использует не только фреймы, но и фреймы внутри фреймов (фу, я знаю, но у меня нет выбора). На самом деле это работает нормально большую часть времени, но я сталкиваюсь с проблемой с некоторыми кадрами внутри кадров в Safari (только).

Некоторые из двух глубоких кадров отображаются в Safari с небольшим пространством в правой части кадра-я думаю, что это просто те, у которых прокрутка установлена в "нет", но возня с настройками прокрутки еще не исправила этого. Это в основном выглядит как будто там должна быть полоса прокрутки, но ее нет.

Я работал над этим некоторое время и перепробовал много вещей: изменение высоты строк, изменение настроек прокрутки, добавление тега colls='100%', Изменение высоты содержимого фреймов, а также проверка, чтобы убедиться, что ширина установлена на 100% во всем. Пока ничего не исправлено. Кто-нибудь знает, что здесь происходит?

Вот основная суть кода и некоторые скриншоты-пожалуйста, простите отсутствие правильных кавычек; он все еще рендерит и фиксирует их все в этой кодовой базе было бы проигранной битвой:

<html>
    <frameset id=fset frameborder=0 border=0 framespacing=0 onbeforeunload="onAppClosing()"  onload="onAppInit()" rows="125px,*,0">
        <frame src="navFrame.html" name=ControlPanel marginwidth=0 marginheight=0 frameborder=0 scrolling=no noresize>
        <frame src="contentFrame.html" name=C marginwidth=0 marginheight=0 frameborder=0 scrolling=no>
        <frame src="invisiFrame.html" name=PING marginwidth=0 marginheight=0 frameborder=0 noresize>
        <noframes><body>Tough luck.</center></body></noframes>
    </frameset></html>

Внутри этого второго кадра (названного " C "и с src "contentFrame") находится следующее:

 <HTML>
    <HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"></head>
    <frameset rows="48px,*,28px" border=0 frameborder=0 framespacing=0>
       <frame src="pageTitle.html" name=Title marginwidth=0 marginheight=0 noresize scrolling=no frameborder=0>
       <frame src="content.html" name=ScreenBody marginwidth=0 marginheight=0 frameborder=0>
       <frame src="submitBar.html" name=ContextPanel marginwidth=0 marginheight=0 frameborder=0 scrolling=no noresize>
    </FRAMESET>
 </HTML>

Фреймы, вызывающие проблемы, - это первый фрейм (названный " Title "С src" pageTitle.html") и последний кадр (названный "ContextPanel" с src " submitBar.html") у обоих ширина установлена на 100%, а высота либо 100%, либо не установлена, либо значение меньше или равно их высота ряда.

Вот образ задачи:

изображение, показывающее сайт в Firefox и Safari, с разделами, помеченными

2 3

2 ответа:

Вы видите, как Safari рисует полосы прокрутки, когда не хватает места, чтобы нарисовать весь набор виджетов полосы прокрутки. Вы должны установить overflow: hidden в CSS для body любого фрейма / страницы, которую вы не хотите прокручивать. Обратите внимание, что Safari не полностью подчиняется этим правилам (или scroll="no" на элементе) в том, что вы можете фактически прокручивать элемент, перетаскивая его содержимое, если оно действительно находится за пределами видимой области.

Заголовок и фреймы отправки, показывающие полосы прокрутки, могут иметь тег html body scroll= " no "

<body scroll="no"> 
Таким образом, независимо от кадра или нормального рендеринга, полосы прокрутки не будет.