DotNetNuke переходит в режим Quirks без изменения настроек - PullRequest
0 голосов
/ 08 ноября 2011

Мы никогда не сталкивались с этим раньше с DNN, но сайты, которые работали в течение долгого времени, переходят в режим Quirks, потому что тип документа FallBack Skin изменился на HTML4 (Legacy).

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

Есть идеи, пожалуйста?Спасибо

1 Ответ

5 голосов
/ 08 ноября 2011

Если в скине не указан DocType, DNN проверяет настройки хоста для него.Таким образом, вы можете изменить его в настройках хоста (предпочтительно) или указать в скине.Использование ASCX для определения скина, а не HTML, не должно иметь никакого значения.

Чтобы указать тип документа для скина, у вас есть два варианта: 1.) Создать файл с именем «Your Skin Name» .doctype.xml.Например, myskin.doctype.xml

В файле введите следующее:

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

2.) Добавьте следующее в верхней части вашего скина

<script runat="server">
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Dim skinDocType as Control = Me.Page.FindControl("skinDocType")
       If Not skinDocType is Nothing
           CType(skinDocType, System.Web.UI.WebControls.Literal).Text="<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Transitional//EN"" ""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"">"
       End If
    End Sub
</script>
...