вертикальная полоса прокрутки не работает при использовании темы window xp (не классической)

StackOverflow https://stackoverflow.com/questions/967396

Вопрос

Это может показаться безумием, и я не верил в это, пока не увидел сам.

Вертикальная полоса прокрутки не прокручивается, когда вы щелкаете в пространстве между скроллером или стрелками.Вы должны перетащить полосу, чтобы заставить ее прокручиваться.Это происходит только в уродливой теме по умолчанию (не в 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 на странице."

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top