2013-07-17 55 views
1

我使用流星構建具有爲移動設備不同的CSS和腳本(jQuery Mobile的)比它的桌面瀏覽器的網站使用不同的樣式/腳本的正確途徑。我希望能夠有條件地將這些包含在基於用戶代理的head元素中。我敢肯定,這都可以動態地注入到DOM,但有沒有這種事情流星最佳做法?什麼是流星依賴於瀏覽器

回答

2

我建議添加瀏覽器特定的類body元素像這樣(client/lib/environment.js):

if(navigator.userAgent.indexOf("Trident/4")>-1) 
    $("body").addClass("ie8"); 

我少用,然後只是有一個ie8.less文件像這樣:

.ie8{ 
//override normal styles here - may have to use !important 
} 

這並不符合您只加載適用於每個客戶端的內容的目標,但它確實適合瀏覽器特定樣式的帳單


如果你的文件存儲在外部,並且您使用隕石,也許你可以使用這個https://atmosphere.meteor.com/package/external-file-loader來檢測,然後加載所需的腳本

但是,如果你保存在您的流星的應用程序文件,他們已經可能已經被合併,併發送到瀏覽器

+0

有趣的方法。我也不是那麼專業......可以這樣做與自舉一起工作嗎?我正在使用自定義版本的引導程序與流星程序包。 – snort

+0

絕對與引導工作,那就是如何我使用它 - 這只是設置一個普通的老客戶端的風格,讓您可以覆蓋任何你想要的 –

0

看到這個問題:Excluding bootstrap from specific routes in Meteor。可以使用類似的方法來實現你所需要的。

此外,要知道CSS @media命令,它通常被用於區分手機的風格。

@media only screen and (max-width:500px) { 
    ... 
}