Dreamweaver вызывает причудливый режим в Internet Explorer - PullRequest
4 голосов
/ 09 июня 2011

Я использую Dreamweaver для разработки веб-сайтов.Я широко использую функцию шаблонов, так как она помогает упростить процесс поддержания соответствия.

Однако я заметил, что Dreamweaver добавляет следующий код перед типом документа:

<!-- InstanceBegin template="/templates/web-public-user-home.dwt" codeOutsideHTMLIsLocked="false" -->

Это выбрасывает мой IEв причудливый режим по понятным причинам (например, комментарий перед типом документа)Есть ли способ справиться с этим ?!Ниже мой doctype.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

С уважением,

Ответы [ 2 ]

3 голосов
/ 09 июня 2011

Хорошо, я понял это.

Из-за обширной настройки соответствия IE, которую я делаю, я использовал условные комментарии.Однако я использовал их в теге html.В принципе, в этом нет ничего плохого, но Dreamweaver не будет правильно обрабатывать ваши живые обновления шаблонов, когда вы делаете это (он будет помещать код блокировки шаблона, специфичный для Dreamweaver, перед doctype, тем самым гарантируя, что ваши страницы будут вызывать режим Quirks в IE).

Итак, я переместил мою систему условных комментариев из тега html, используя их сразу после открывающего тега тела и непосредственно перед закрывающим тегом тела следующим образом:

<body>
<!--[if IE 6 ]> <div id="ie" class="ie6"> <![endif]-->
<!--[if IE 7 ]> <div id="ie" class="ie7"> <![endif]-->
<!--[if IE 8 ]> <div id="ie" class="ie8"> <![endif]-->
<!--[if gt IE 8 ]> <div id="ie"> <![endif]-->
<!--[if !IE]><div id="not-ie"> <![endif]-->

{YOUR HTML CODE}

  </div>
</body>

Таким образом, Dreamweaver помещает тег doctype и html перед кодом блокировки шаблона, и ваши получившиеся страницы будут отображаться в стандартном режиме в IE (все нормально).

Приветствия.

2 голосов
/ 08 февраля 2013

Dreamweaver (включая CS6) помещает комментарий <!-- InstanceBegin template="... перед тегом doctype , только если не может найти открывающий тег <html> в вашем шаблоне!Это происходит, когда вы полностью забыли этот тег, но также и когда этот тег помещен в условные комментарии, например:

<!--[if IE 8]> <html class="ie8"> <![endif]-->

Чтобы избежать этого, вы должны воздерживаться от включения тега <html> в условные комментарии.Когда вы используете обычный скрытый тег <html> в коде шаблона, Dreamweaver автоматически поместит тег <!-- InstanceBegin template="... после , который <html>, во все файлы, полученные из этого шаблона, и IE не перейдет в режим причуд.,

...