вертикальная полоса прокрутки не работает при использовании темы window xp (не классической)
-
12-09-2019 - |
Вопрос
Это может показаться безумием, и я не верил в это, пока не увидел сам.
Вертикальная полоса прокрутки не прокручивается, когда вы щелкаете в пространстве между скроллером или стрелками.Вы должны перетащить полосу, чтобы заставить ее прокручиваться.Это происходит только в уродливой теме по умолчанию (не в Windows classic).
За полосой прокрутки стоит какой-то тяжелый javascript, который управляет прокруткой другого DIV на странице.
Кто-нибудь вообще сталкивался с этим раньше?Какого черта тема влияет на рендеринг IE?!Только IE!
Редактировать:эта проблема возникает, когда вы используете "неклассическую" тему XP (уродливую тему по умолчанию).переключение тем не приводит к этому, но оно устраняет проблему, если вы переключаетесь на classic по умолчанию.
Решение
Поможет ли добавление
<!--[if IE]><meta http-equiv="MSThemeCompatible" content="no"><![endif]-->
к источнику вашей страницы?Это помогло обойти сбои в IE, когда у меня включена неклассическая тема.Обратите внимание, что условные комментарии существуют для того, чтобы Firefox не анализировал тег (потому что иногда он портит полосы прокрутки в Firefox).
Другие советы
У меня только что была такая же проблема с вертикальной полосой прокрутки в IE7 в теме XP.После многих экспериментов я, наконец, нашел решение этой проблемы.Я не знаю, подходит ли это решение к вашему случаю.
Контейнер (div #scroll в примере ниже) с отображаемыми полосами прокрутки должен быть больше 18 пикселей.Любое число ниже этого приведет к отключению вертикальной полосы.
<div id="scroll">
<div id="fill">
</div>
</div>
Таблица стилей, например:
#fill{
width: 1px;
height: 1000px;
}
#scroll {
width: 18px; /* This has to be larger than or equal to 18. */
height: 50px;
overflow-y: scroll;
}
Спасибо, Грейс
Чтобы избежать определенных ограничений Windows, IE повторно реализует почти все элементы управления, видимые на веб-странице.
Старая Новая Вещь :Элементы управления без окон - это не волшебство
<excerpt>
Команда Internet Explorer переосмыслила все элементы управления, которые понадобятся веб-странице.У них есть свой собственный элемент управления checkbox без окон, элемент управления listbox без окон, окно редактирования без окон и так далее.В дополнение к воспроизведению всех функциональных возможностей оконных элементов управления, разработчики Internet Explorer также должны были воспроизвести "внешний вид" оконных элементов управления, вплоть до последнего пикселя.(Такие функции, как Нарисуйте их на заднем плане и Управление DrawFrameControl окажитесь здесь чрезвычайно полезными.)
Если я правильно помню, единственным элементом, который все еще находится в окне, является в <SELECT> элемент.
Если прищуриться, то можно увидеть некоторые места, где они не совсем справились с задачей.Например, если щелкнуть правой кнопкой мыши в текстовом поле, такие параметры, как "Порядок чтения справа налево" и "Вставить управляющий символ Юникода", будут отсутствовать.В качестве другого примера обратите внимание, что полосы прокрутки IE не загораются при наведении на них курсора мыши.
</excerpt>
Не видя кода, реализующего вашу страницу, я бы предположил, что это еще одно проявление того, что "элементы управления IE не действуют как собственные".
Если у вас есть контракт на поддержку с Microsoft, я бы посоветовал обратиться к ним с жалобой по этому каналу;если нет, посмотрите, получите ли вы какие-либо ответы в microsoft.public.internetexplorer.general группа новостей.Еще в IE6 они сломали полосу прокрутки с помощью КБ824145 и исправил это с помощью КБ832894, так что это не значит, что такого рода проблемы не возникали и не решались раньше.
Во-первых, я начну с того, что IE — ужасный браузер, и в некоторых случаях вы не можете контролировать проблемы при разработке веб-приложения.
В этом случае я не сталкивался с такой проблемой, и поиск в Google ничего не дал по этой теме.Я бы сказал, что в вашем коде должно быть что-то, что привело к странной ошибке.Скорее всего, во многих системах это не нарушится, поэтому, если это не очень важное приложение (продажи, правительство...), вы можете оставить все как есть.
Посмотрите на это так:кто менял стиль окон на классический?Выродки.А гики используют IE?Нет.^^ ...Шучу, но не совсем.
Если это важно, мне нужно будет взглянуть на ваш реальный код для "За полосой прокрутки находится какой-то тяжелый JavaScript, который управляет прокруткой другого DIV на странице."