2012-04-14 9 views
0

私は剃刀のテンプレートで曖昧な問題を抱えていて、ブラウザーを癖モードにしているようです。私は完全にかみそりの構文を移動したり、それを下に移動した場合MVC Razor quirks mode - umbraco

@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の前ではありません:それはumbraco 5に次のコードは、クロムを行い、Firefoxの、IEは全てがQuirksモードに入るシンプルなかみそりのテンプレートです標準準拠モードに移行します。さまざまな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の前に何かをレンダリングしていると思っているようだが、私は見ることができない。

おかげ

+0

この問題は、テンプレートの先頭にある@inherits RenderViewPageによって発生しているようです。私はこれに関する情報や方法を見つけることができません - 解決策は代わりにUmbraco 4.7を使用することです! – user1300464

答えて

1

あなたの@using書類にセミコロンを必要としないが、おそらくこれは、ブラウザが見ている何ですか?

@using Umbraco.Cms.Web; 

はちょうどそれが右のDOCTYPEのタグ<を開く前に、余分な文字(空白)を入れているように見えますここ

@using Umbraco.Cms.Web 
+0

提案のおかげで、私はそれを知らなかった、セミコロンはumbracoテンプレートによって提供されています。残念ながらそれらを削除すると違いはありません。 しかし、私は最初の行を削除することでそれを見つけました。@inherits RenderViewPageは標準準拠モードでレンダリングします。 – user1300464

1

同じ することができます。エディターのバグだと思う。

オープニング "<"を取り除いてから挿入してから保存してください。またdoctypeはファイルの1行目でなければなりません。

0

@文は空白に変換されます。 Doctypeは文書の最初の行であることが期待されます。この場合、最初の行は空白なので、doctypeは空の行として定義されます(triggers quirksmode)。