0

かみそりテンプレートがブラウザーを強制的に互換モードにするという、あいまいな問題があるようです。これは umbraco 5 の単純な剃刀テンプレートです。次のコードは、chrome、firefox、IE をすべて quirks モードにします。

@inherits RenderViewPage
@using System.Web.Mvc.Html;
@using Umbraco.Cms.Web;
@{
    Layout = "";
}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html> 
<head>
  <meta charset="utf-8" />
  <title>Page title</title>
</head>
<body>



</body>
</html>

かみそりの構文を完全に移動するか、下に移動すると、Doctypeの前にならなくなり、標準準拠モードになります。さまざまな X-UA-Compatible メタ タグを追加しようとしましたが、効果がありません。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html> 
<head>
  <meta charset="utf-8" />
  <title>Page title</title>
</head>
<body>

@inherits RenderViewPage
@using System.Web.Mvc.Html;
@using Umbraco.Cms.Web;
@{
    Layout = "";
}

</body>
</html>

何が原因でしょうか?ブラウザーは、doctype の前に何かをレンダリングしていると考えているようですが、何も表示されません。

ありがとう

4

3 に答える 3

1

ここも同じ doctype のタグ < を開く直前に余分な文字 (空白) を配置しているようです。エディタのバグだと思います。

冒頭の「<」を削除して挿入し直してから保存してください。また、doctype はファイルの 1 行目にある必要があります。

于 2012-05-21T14:51:57.160 に答える
1

@usingステートメントにセミコロンは必要ありません。おそらく、これはブラウザが見ているものですか?

だから例えば

@using Umbraco.Cms.Web;

ただすることができます

@using Umbraco.Cms.Web
于 2012-04-14T07:35:38.313 に答える
0

@ ステートメントは空白に変換されます。doctype は、ドキュメントの最初の行であると予想されます。この場合、最初の行は空白であるため、doctype は空の行として定義され、quirksmode がトリガーされます。

于 2012-08-26T13:42:30.987 に答える