Kısmi manzaralı JavaScript dosyası vardır
En iyi uygulama kısmi manzaralı içinde javascript dosyaları dahil etmek için ne olduğunu merak ediyorum. Bir kere bu benim sayfanın html ortasında etiketini içeren bir js olarak sona erecek işlenmiş. Benim açımdan bu, bunu yapmanın iyi bir yolu değil. Head etiketi içinde oldukları ve bu şekilde bir html işleme tarayıcı engel olmamalıdır.
Bir örnek: Bir içeri bir WordPress kullanmak picturegallery bir eklenti 'PictureGallery' bu kısmi görünüm olarak kısmi görünümü birkaç sayfada kullanılacak. kullanıyorum Bu eklenti sadece bu görünümü kullanıldığında yüklü olması gerekirHer bir kısmi görünümü kullanarak bir şey yapmaya niyetim yok...
Cevaplarınız için teşekkürler.
CEVAP
Bu soruya çok benzer görünüyor: Linking JavaScript Libraries in User Controls
Burada soru cevabım test edeceğim.
Kesinlikle söz tam olarak bu nedenle numune içine koyarak tavsiye etmem. Bir görünüm, aynı js dosyasına başvurular iki elimizde bir çek olabilir yüksek bir şans var. Ayrıca html geri kalanı yüklemeden önce js yükleme performans isabet var.
Bilemiyorum en iyi yöntem ama ben seçim yapmak dahil herhangi bir ortak js dosyalarının içindeki Anasayfa ve sonra tanımlamak ayrı bir Sayfası için bazı ek js dosyaları özgü belirli bir veya az sayıda bulunur.
İşte size bir örnek Ana Sayfa - oldukça kendi kendini açıklayıcı.
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
<head runat="server">
... BLAH ...
<asp:ContentPlaceHolder ID="AdditionalHead" runat="server" />
... BLAH ...
<%= Html.CSSBlock("/styles/site.css") %>
<%= Html.CSSBlock("/styles/ie6.css", 6) %>
<%= Html.CSSBlock("/styles/ie7.css", 7) %>
<asp:ContentPlaceHolder ID="AdditionalCSS" runat="server" />
</head>
<body>
... BLAH ...
<%= Html.JSBlock("/scripts/jquery-1.3.2.js", "/scripts/jquery-1.3.2.min.js") %>
<%= Html.JSBlock("/scripts/global.js", "/scripts/global.min.js") %>
<asp:ContentPlaceHolder ID="AdditionalJS" runat="server" />
</body>
Html.CSSBlock & Html.JSBlock açıkçası benim kendi uzantıları olan fakat yine de, ne yaptıklarını, kendi kendini açıklayıcı.
O zaman söyle bir Kayıt.SEO ederdim görüntüleyin
<asp:Content ID="signUpContent" ContentPlaceHolderID="AdditionalJS" runat="server">
<%= Html.JSBlock("/scripts/pages/account.signup.js", "/scripts/pages/account.signup.min.js") %>
</asp:Content>
HTHs, Charles
Ps. Burada bir ve js dosyalarını küçültmeye bitiştirmek sorduğum soru: Concatenate & Minify JS on the fly OR at build time - ASP.NET MVC
DÜZENLEME:Benim diğer cevap istenen, benim uygulama .İstediğin gibi JSBlock(a, b)
public static MvcHtmlString JSBlock(this HtmlHelper html, string fileName)
{
return html.JSBlock(fileName, string.Empty);
}
public static MvcHtmlString JSBlock(this HtmlHelper html, string fileName, string releaseFileName)
{
if (string.IsNullOrEmpty(fileName))
throw new ArgumentNullException("fileName");
string jsTag = string.Format("<script type=\"text/javascript\" src=\"{0}\"></script>",
html.MEDebugReleaseString(fileName, releaseFileName));
return MvcHtmlString.Create(jsTag);
}
Sonra büyülü bir şey oluyor...
public static MvcHtmlString MEDebugReleaseString(this HtmlHelper html, string debugString, string releaseString)
{
string toReturn = debugString;
#if DEBUG
#else
if (!string.IsNullOrEmpty(releaseString))
toReturn = releaseString;
#endif
return MvcHtmlString.Create(toReturn);
}
Bir JavaScript başka bir JavaScript do...
Yii Çerçevesinde CSS,javascript dosyas...
Bir HTML dosyası içinde bir HTML dosya...
ASP.Net MVC 3 Razor: Head etiketi için...
6 gitignore dosyası böyle büyük mükafa...