2014-03-26 46 views
1

我在我的rails4項目中使用turbolinks。在導軌4中使用turbolinks時css樣式覆蓋4

我注意到它會在html頭中添加所有* .css文件作爲外部css鏈接。 如果有人使用與我一樣的CSS選擇器,Css風格可能會被覆蓋!

這裏是我的問題: turbolinks中是否有任何設置忽略指定頁面上的某些css/js加載?

回答

1

我會說,這是條件ERB代碼工作,而不是turbolinks(但我可能是錯的)

Turbolinks是一個JavaScript庫通過Ajax加載頁面的<body>標籤(保持<head>完好。您可以獨立做出Turbolinks負載通過將data-no-turbolink標記您的鏈接:

<div id="some-div" data-no-turbolink> 

我這樣做:

<head> 
    <% if x.present? %> 
     <%= stylesheet_link_tag "your_css" %> 
    <% end %> 
</head> 

在特定資產/款式方面,你不妨看看asset change detection

您可以跟蹤某些資產,如application.js中和application.css, 要確保有總是最新版本在 Turbolinks會議中。這是通過標記與 數據turbolinks軌道


最後這些資產鏈接完成後,你的問題是很曖昧(沒有足夠的情況下)。當你提到:

我注意到它會在html頭中添加所有* .css文件作爲外部css鏈接。如果有人使用與我一樣的CSS選擇器,Css風格可能會被覆蓋!

如果你的CSS是spaghetti code,你的問題可能是你的資產結構而不是Turbolinks。您應該提供更多關於如何加載CSS的詳細信息。&需要帶回的內容