2010-06-10 27 views
2

我一直在閱讀關於css和js壓縮和最小化。特別是後Concatenate and minify JavaScript on the fly OR at build time - ASP.NET MVC我開發一個MVC ASP.NET應用程序,並使用Combres來最小化和壓縮文件。我不太高興,現在我正在評估斯科特在後面提到的MVCScriptManager。結合並最大限度地減少css與標題和rel屬性

但是,我的css文件有問題:在我的網站中,我允許用戶更改頁面的樣式,我實現了定義不同樣式表的這項任務。

要更改樣式時,用戶點擊一個按鈕,我可使用「標題」鏈接標籤的屬性的正確風格:

$('link[rel*=style][title]').each(function(i) { 
    this.disabled = true; 
    if (this.getAttribute('title') == styleName) this.disabled = false; 
}); 

而且在我的網頁的頭部分我有什麼是:

<link rel="stylesheet" type="text/css" href="/Content/css/green.css" title="Green" media="screen" />  
<link rel="alternate stylesheet" type="text/css" href="/Content/css/cyan.css" title="Cyan" media="screen" /> 
<link rel="alternate stylesheet" type="text/css" href="/Content/css/orange.css" title="Orange" media="screen" /> 
<link rel="alternate stylesheet" type="text/css" href="/Content/css/navy.css" title="Navy" media="screen" /> 
<link rel="alternate stylesheet" type="text/css" href="/Content/css/purple.css" title="Purple" media="screen" /> 
<link rel="alternate stylesheet" type="text/css" href="/Content/css/pink.css" title="Pink" media="screen" /> 
<link rel="alternate stylesheet" type="text/css" href="/Content/css/wine.css" title="Wine" media="screen" /> 

問題是,當我結合樣式表我不能依靠標題和rel屬性做切換。任何幫助或建議,將不勝感激!

提前致謝!

+0

嗨!我是Combres的作者。你能告訴我你爲什麼不喜歡Combres的原因嗎?這將幫助我知道我應該如何改進圖書館,以使其對其他人更有用。謝謝! – 2010-06-11 04:08:11

+0

嗨! Combres很棒,但有時我必須自己壓縮js文件,因爲Combres無法做到這一點。我一直在想,可能我做錯了什麼,但我想不出來... – fabianadipolo 2010-06-13 03:03:09

回答

3

好吧,你真的應該按需加載CSS文件。

因此,如果用戶選擇粉色,pink.css <link>將作爲<head>中的最後一個元素插入。

+0

謝謝!我沒有想到這一點。現在我所做的是在加載頁面時加載樣式表,然後當用戶改變樣式時,我會使用請求的樣式表動態改變href屬性!我想爲你的答案投票,但我不能,因爲我沒有15點的聲望! – fabianadipolo 2010-06-12 15:13:50

+0

那麼,你仍然可以接受它作爲答案:) – unomi 2010-06-13 00:03:13

+0

你走了,現在你可以投票了:p – unomi 2010-06-13 00:48:54

相關問題