2012-04-14 16 views
0

Ich habe ein obskures Problem mit einer Rasierklinge Vorlage zwingen Browser in Macken Modus. Es ist eine einfache Rasierer Vorlage in umbraco 5. Der folgende Code Chrom macht, Firefox, IE alle in Quirks-Modus gehen: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> 

Wenn ich den Rasierer Syntax vollständig oder verschieben Sie es nach unten zu bewegen, so ist es nicht vor dem Doctype Es geht in den Standard-Compliance-Modus. Ich habe versucht, verschiedene X-UA-kompatible Meta-Tags ohne Wirkung hinzuzufügen.

<!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> 

Wer irgendwelche Ideen, was könnte die Ursache sein? Es ist, als ob die Browser denken, dass etwas vor dem Doctype gerendert wird, aber ich kann nichts sehen.

Dank

+0

Dieses Problem scheint durch die @ inherits RenderViewPage am Anfang der Vorlage verursacht werden. Ich kann keine Informationen oder Wege dazu finden - die Lösung ist stattdessen Umbraco 4.7! – user1300464

Antwort

1

Sie brauchen nicht ein Semikolon auf @using Aussagen, vielleicht ist es das, was der Browser zu sehen ist?

Also z.B.

@using Umbraco.Cms.Web; 

kann nur

@using Umbraco.Cms.Web 
+0

Danke für den Vorschlag, ich wusste nicht, dass die Semikolons von der Umbraco Vorlage zur Verfügung gestellt werden. Leider macht es aber keinen Unterschied, sie zu entfernen. Allerdings habe ich gerade gefunden, dass durch Entfernen der ersten Zeile: @ inherits RenderViewPage es in Standards Compliance-Modus rendern wird. – user1300464

1

Same hier sein Es sieht aus wie, dass es zusätzliche Zeichen platziert (Leerzeichen) direkt vor < von Doctype-Tag zu öffnen. Ich denke, dass es ein Editor-Bug ist.

Versuchen Sie, die Öffnung "<" zu entfernen und legen Sie sie wieder ein und speichern Sie danach. Auch Doctype sollte 1. Zeile der Datei sein.

0

Die @ -Anweisungen werden in Leerzeichen konvertiert. Der Doctype wird voraussichtlich die erste Zeile des Dokuments sein. In diesem Fall ist die erste Zeile leer, daher wird der Doctype als leere Zeile definiert, die triggers quirksmode.