2015-05-08 31 views
7

我最近在網頁上發現了一個問題,在網頁上的樣式真的搞砸了,但只在IE瀏覽器中。我的老闆告訴我這很可能是因爲被渲染的CSS Bundle包含來自不同目錄的CSS文件,所以我查了一下並確實做到了。這是類似於下面:在不同的目錄中捆綁文件?

bundles.Add(new StyleBundle("~/path/subpath/all").Include(
       "~/path/subpath/filename.css", 
       "~/path/subpath/filename1.css", 
       "~/path/subpath/filename2.css", 
       "~/path/subpath/filename3.css", 
       "~/path/subpath/anotherSubPath/filename.css", 
       "~/path/subpath/anotherSubPath/filename1.css", 
       "~/path/aDifferentSubPath/filename.css")); 

他說,捆綁不可能以這種方式工作,你只能有一個包相同的目錄中的文件,所以我分裂它們像下面的:

bundles.Add(new StyleBundle("~/path/subpath/all").Include(
      "~/path/subpath/filename.css", 
      "~/path/subpath/filename1.css", 
      "~/path/subpath/filename2.css", 
      "~/path/subpath/filename3.css")); 

bundles.Add(new StyleBundle("~/path/subpath/anotherSubPath/all").Include(
      "~/path/subpath/anotherSubPath/filename.css", 
      "~/path/subpath/anotherSubPath/filename1.css")); 

bundles.Add(new StyleBundle("~/path/aDifferentSubPath/all").Include(
      "~/path/aDifferentSubPath/filename.css")); 

這工作和解決我們的問題在IE瀏覽器。好吧,現在到我的問題:

  • 我的老闆是否正確?你不能捆綁來自不同文件夾的文件嗎?
  • 如果他是正確的,爲什麼這隻會在IE瀏覽器中打破?爲什麼你只能從同一個目錄中捆綁文件?
  • 如果他不正確的話可能是什麼問題?爲什麼要拆分捆綁包已經解決了它?
+5

我是你的老闆,你因爲懷疑我而被解僱,哈哈。 –

回答

1

對於舊版本的IE,至少< 10也有一些已知的限制

CSS的數量和腳本文件IE可以加載 - 如果你在Debug運行的網站,這可能是一個問題模式捆綁不捆綁。

如果不是這種情況,那麼你有一個文件中有超過4,096個選擇器?

Internet Explorer CSS limits

+0

感謝您對該鏈接非常有幫助的回覆! – Srb1313711

2

沒有與捆綁名稱和文件夾,當你的CSS文件使用相對路徑來靜態文件,如圖像常見的問題,字體等

例如您有:

bundles.Add(new StyleBundle("~/path/subpath/all").Include(
      ... 
      "~/path/subpath/anotherSubPath/filename1.css")); 

和你的filename1.css你使用background: url(image.jpg),通常這個圖像位於filename1.css這是~/path/subpath/anotherSubPath/image.jpg相同的文件夾。使用下面的bundels使瀏覽器查找不存在的文件~/path/subpath/all/image.jpg。也許這就是分離包的原因。

+0

因此,如果你的CSS(使用你的例子)引用了一個圖像,最好不要將該文件捆綁在一起?或者只是改變圖像的路徑? – Srb1313711

+0

很難說什麼是最佳做法。我認爲拆分捆綁更好,因爲它可以在沒有捆綁的情況下使用。 – py3r3str

1

你的老闆聽起來很棒!首先,CSS路徑與CSS文件相關,所以我懷疑這就是爲什麼他建議你改變它。

但CSS長度也可能是一個問題,所以可能是這種情況下的根本原因。

不幸的是,在瀏覽器中有一些小問題需要注意,比如這個CSS設備,或者蘋果設備上的圖片大小(之前與精靈表相關)。你的老闆聽起來像是一種動態的東西,打開了那個會知道的人。

相關問題