Hat MVC eine eingebaute Möglichkeit, einen CDN Fallback für Stylesheets anzugeben? Ich versuche, ein Fallback für das Stylesheet jQuery Mobile Structure einzurichten. Hier ist mein Code in der RegisterBundles
Methode:MVC CDN Fallback für Style Bundle
var JQMstyleSheet = new StyleBundle("~/JQMstyle", "http://code.jquery.com/mobile/1.3.1/jquery.mobile.structure-1.3.1.min.css").Include("~/theme/jquery.mobile.structure-1.3.1.css");
JQMstyleSheet.CdnFallbackExpression = "window.jQuery.mobile";
bundles.Add(JQMstyleSheet);
Wenn die Seite macht es diese Ausgänge mit dem html:
<script>
(window.jQuery.mobile)||document.write('<script src="/JQMstyle"><\/script>');
</script>
Wenn die CDN es scheitert nicht hinzufügen dynamisch das Stylesheet wie es funktioniert perfekt für meine Javascript-Dateien. Ich denke, das Problem ist, dass es versucht, ein Skript zu rendern, wenn es ein Stil sein sollte. Gibt es eine andere Fallback-Eigenschaft als CdnFallbackExpression
?
UPDATE
Die Microsoft-Dokumentation für System.Web.Optimization.StyleBundle
zeigt eine CdnFallbackExpression
als verfügbare Eigenschaft jedoch in der Beschreibung heißt es „Ruft das Skript Erweiterung der Klasse Scripts
Helfer gemacht ...“ http://msdn.microsoft.com/en-us/library/system.web.optimization.stylebundle(v=vs.110).aspx Ist das ein Bug in der System.Web.Optimization.StyleBundle
? sollte diese Eigenschaft nicht durch Referenz auf die Styles
Hilfsklasse?
'JQMstyleSheet.CdnFallbackExpression =" window.jQuery.mobile ";' warum hast du das? – Amila
Ich brauche das Stylesheet zu laden, wenn das cdn fehlschlägt. eine Überprüfung für window.jQuery.mobile wird mir sagen, wenn der CDN-Download von Jquery Mobile fehlgeschlagen ist, dann weiß ich, dass das Stylesheet cdn Download am wahrscheinlichsten gescheitert ist. Ich bin nicht sicher, wie überprüft werden soll, gibt ein Stylesheet mit CdnFallbackExpression. – Adrian