Подтвердить что ты не робот

Почему моя страница работает в IE7 режиме IE7, но не в IE7 сама?

Недавно я начал жить с нашей новой домашней страницей, после тщательного тестирования ее в каждом браузере и режимах IE9 (не только режиме совместимости, но и фактической эмуляции IE7 и IE8). Сайт работает в каждом режиме, не говоря уже о современных браузерах. Однако после его запуска я получил электронное письмо, в котором говорится, что сайт был очень сломан в IE7. Я пошел на заброшенную машину и загрузил Windows XP, запустил IE7 и загрузил страницу. К моему ужасу, макет был действительно сломан! (Не только слайд-шоу!)

Самое главное, почему моя страница не работает в IE7, хотя она работает в IE7 режиме в IE9? И как второстепенный вопрос, что может быть "неправильным" с ним?

Изменить. Я выяснил, что одной из моих проблем может быть слайд-шоу, но добавление .ie7 #slideshow {display:none !important} даже не скроет слайд-шоу. Я не могу получить к нему доступ через CSS.

Изменить 2. Еще одна проблема, которая появляется только в родном IE7 - нижнем колонтитуле на этой домашней странице, и this страница, является ультра-крошечным текстом, который нельзя масштабировать. Он не делает этого в IE9 режиме IE7 (не совместимости) или в любом другом браузере. Другой пример несоответствия.

4b9b3361

Ответ 1

Я не знаю о режиме IE7 IE7 совместимости, но режим IE7 совместимости, встроенный в IE8, хорошо известен тем, что он не является идеальной копией реального IE7. Он имеет большое количество ошибок и собственных причуд, которые не отображаются в обычном IE7.

Было достаточно плохо, что я никогда бы не рекомендовал, чтобы кто-либо фактически использовал режим совместимости для тестирования своего сайта... за исключением того, что вам все еще нужно справляться с случайным пользователем, который на самом деле использует режим совместимости в своем реальном браузере. Поэтому вместо того, чтобы упростить работу разработчика, MS действительно усложнила нам задачу, добавив еще один возможный механизм рендеринга в микс, который. Вздох.

Я не пробовал режимы совместимости с IE9, но если ваш опыт - это что-то, что нужно, то у них все еще есть такая же проблема. Это позор (но не удивительно), что MS не училась с первого раза, когда они совершили эту ошибку.

Вместо использования режимов совместимости для тестирования лучшим решением, которое я знаю, является использование приложения под названием IE Tester, которое позволяет устанавливать и запускать все версии IE рядом друг с другом. Он по-прежнему не идеален (единственный способ добиться совершенства, как вы уже выяснили, состоит в том, чтобы иметь реальный IE7 на своей реальной копии XP), но он намного ближе к реальности, чем IE, совместимость ".

Ответ 2

Я бы рекомендовал использовать HTML5BoilerPlate (http://html5boilerplate.com/) в качестве источника вдохновения и руководства. Я в той же ситуации: веб-разработчик для университета и должен написать редизайн основного сайта.

Я думаю, вы уже сделали это, основываясь на своем источнике. Используете ли вы последнюю версию? Возможно, были некоторые обновления для шаблона HTML5BoilerPlate, которые могли бы решить эту проблему.

Я нашел сотрудника с реальным IE7 и уверен, ваша страница выглядит плохо. Затем я проверил свой макет в реальном IE7, и он выглядит нормально (теперь я считаю, что мне очень повезло).

Мой макет также основан на шаблоне HTML5BoilerPlate.

Другое предложение - попробовать комментирование блоков кода и попытаться изолировать причину проблемы.

Я думаю, что слайд-шоу является причиной проблемы (или, по крайней мере, симптома). Мне пришлось повторно реализовать содержимое слайд-шоу, используя 3 разных плагина. В настоящее время я установил плагин цикла jQuery для такого контента: http://jquery.malsup.com/cycle/

Я тоже хочу знать причину проблемы. Сайт отлично выглядит, кстати, при визуализации того, как он должен выглядеть. Хорошая работа!


Ознакомьтесь с этой записью в блоге MSDN: http://blogs.msdn.com/b/ie/archive/2009/03/12/site-compatibility-and-ie8.aspx

Ответ 3

Проблема связана со слайд-шоу

Просматривая ваш script.js файл, я вижу это

/*
 * Here is the slideshow code.
 */

 // Screw ie7...
if ( !($.browser.msie && $.browser.version <= 7.0) ){

поэтому я бы начал искать там, поскольку, похоже, он игнорирует IE7 и ниже.

Ответ 4

Загрузите бесплатный Microsoft Virtual PC и MS бесплатные изображения на жестком диске, содержащий IE 7, 8 и т.д., почему они делают их доступными.

Кажется, есть миллион плагинов слайд-шоу jQuery, и большинство из них совместимы с IE 7.

jCarousel является одним из них, и вы можете изменить его с помощью CSS, чтобы выглядеть так, как вы сейчас.

Эта страница содержит 42 различных плагина слайд-шоу.


EDIT:

Я также рекомендую, чтобы страница была переведена в соответствие W3C, прежде чем решать другие проблемы.

Ответ 5

Могу ли я рекомендовать вам избегать подходов эмуляции и тестирования в реальном IE7 на вашем компьютере, используя Режим XP.

Ответ 6

Сначала: всегда проверяйте фактический браузер. Если мы говорим об этом, используйте виртуальную машину для ее проверки. Никогда не полагайтесь на "режимы совместимости", "ies4linux", "ies4mac", "просто используйте вино" и т.д. У меня было много, но много головных болей, когда вы не используете виртуальные машины (вы можете использовать моментальные снимки на своих виртуальных машинах - каждый снимок - это версия браузера. Таким образом, вы можете иметь только одно изображение, но с несколькими браузерами).

Во-вторых: эта проблема возникает, даже если вы удалите это слайд-шоу из своего script.js? Вы проверили, удалил ли этот раздел и перезагрузил вашу страницу, если это не кешированная версия старого script.js? Иногда кешированная версия является источником всех проблем.

Небольшой взломать ваш браузер в кэширование script.js - это добавить при вызове script.js из вашей разметки произвольное число (script.js? v = 100, например, и для каждой модификации, которую вы выполняете с помощью js, вы изменяете это число. Вы можете проверить SO-источник, он использует аналогичный подход в некоторых разделах).

В-третьих: попробуйте сделать, прежде чем "отрицание" в вашем script:

alert($.browser.msie);
alert($.browser.version);
alert($.browser.msie && $.browser.version <= 7.0);

... и посмотрите, есть ли что-то или что-то предупреждает или вызывает исключение. Иногда т.е. Будет пытаться интерпретировать ваш javascript и поднять неизвестное исключение без всякой причины: если вы не поймаете его в блоке try/catch, все будет разбиваться с этой точки на конец script.

Я знаю, это метод проб и ошибок, но мы должны изолировать все и попытаться точно понять, что вызывает ошибку. При необходимости повторите третий совет в разделе слайд-шоу.

Ответ 7

Alrgiht, это, возможно, ответ ur, который ищет. Перейдите к инструментам разработчика F12 и нажмите режим браузера IE9 и Режим документа IE7. Это будут стандарты IE7, но пользовательский пользователь IE9. Если это не сработает, попробуйте использовать режим браузера IE7 и режим документа.

Ответ 8

Я с другими, говоря, что возможный виновник - это слайд-шоу. Я бы получил более слайд-шоу с CSS:

http://flowplayer.org/tools/index.html

И определенно проверьте в браузере ACTUAL! Вы можете использовать веб-браузерный веб-сайт, например browsershots.org. Они берут время, чтобы произвести снимок вашего сайта, но это точно.