помешать IE подделать код страницы? - PullRequest
2 голосов
/ 16 декабря 2009

Можно ли запретить IE (7 или 8) изменять базовый код страницы? Моя страница, созданная с помощью Dreamweaver, состоит из таблицы с 5 изображениями; каждый из них является ссылкой на больший размер. В FF или Chrome страница отображается точно так, как запланировано. В IE отображается только первое изображение. Все остальные имеют значок «сломанный IMG». Код, показанный F12, показывает, что IE добавляет свойство complete = "complete" после первого изображения.

Ответы [ 3 ]

2 голосов
/ 22 декабря 2010

Похоже, первое изображение не было правильно закрыто. Где у вас есть:

<img src="images/sponsor.jpg" alt="aresti" width="200" height="80" longdesc="aresti-modelisme.com";

Удалите ; и замените на />

0 голосов
/ 22 декабря 2010

Во-вторых, нет, вы не можете помешать IE или другим браузерам «изменить» базовый код, потому что код, который вы видите на панели инструментов разработчика (или в Firebug с Firefox и т. Д.), Не является HTML-кодом, а создается из DOM, который представляет собой структуру, которую браузер сохраняет в памяти после того, как он декодировал страницу и преобразовывал ее в набор объектов, которые он может отображать. Код, который вы видите, - это отрендеренная версия, которая затем преобразуется обратно в необработанный HTML.

DOM может содержать значения defalt для любых атрибутов, которые вы не указали, а также будет содержать «исправленный» HTML в случае, если фактический входной HTML содержит ошибки. В зависимости от браузера вы также можете найти все ваши теги преобразованными в верхний или нижний регистр.

Вы можете минимизировать проблему, используя W3C Validator (http://validator.w3.org/), чтобы проверить, верен ли ваш HTML-код. Исправление обнаруженных здесь ошибок сделает ваш код соответствующим ожиданиям DOM, поэтому не будет так сильно меняются. Это также устранит множество нечетных кросс-браузерных проблем с рендерингом.

0 голосов
/ 16 декабря 2009

Вы не можете изменить способ рендеринга IE, но вы можете настроить свой код таким образом, чтобы механизм рендеринга обрабатывал ваш код лучше. Я считаю, что сделка complete = "complete" связана с onreadystate, который есть у каждого элемента в IE DOM.

Не могли бы вы предоставить разметку, которая вызывает красные крестики в IE? Вы проверили, чтобы убедиться, что ваша разметка действительна и все? Вы делаете какие-либо сценарии?

...