這裏是我的標準條件註釋,只給IE8和IE8以下的IE黑客。它在初始加載時工作。.NET回發讓其他瀏覽器加載IE條件註釋
<!--[if lt IE 9]>
<link href="Styles/IE.css" rel="stylesheet" type="text/css" />
<![endif]-->
當發生回發時,Chrome 21.0.1180.60 m突然加載它!到底是怎麼回事?
更新:
我確認這發生在Firefox和Opera也。我想知道如果以某種方式.NET刮除CSS包括的源代碼,而不考慮條件註釋並將它們放入視圖狀態,它以某種方式在回發中包含CSS文件?這甚至有意義嗎?這裏還會發生什麼?
更新2:
這很奇怪。條件註釋只加載CSS,(不是純文本,html或javascript),只有在標題中。 Firefox,Opera和IE會加載任意數量的條件註釋(不管他們指定哪個瀏覽器),但Chrome只會加載第一個。因此:
<!--[if lt IE 9]>
<link href="Styles/IE.css" rel="stylesheet" type="text/css" />
<![endif]-->
<!--[if IE 7]>
<style>#test{border:dashed 1px red;</style>
<script>alert("seven");</script>
<![endif]-->
<!--[if IE 8]>
<style>#test{border:dashed 1px blue;</style>
<script>alert("eight");</script>
<![endif]-->
<!--[if IE 9]>
<style>#test{border:dashed 1px green;</style>
<script>alert("nine");</script>
<![endif]-->
將加載在回傳所有的瀏覽器IE.css
,以及IE,Opera和Firefox將加載CSS的IE 7,8和9,導致綠色邊框上#test
。 Chrome不會給#test
任何邊框。沒有JavaScript警報會發生。
您是否擁有發生此問題的網站的實時網址? – 2012-08-02 18:04:53
它位於IIS Express上運行的本地開發環境中。 – brentonstrine 2012-08-02 18:07:12