2014-10-08 89 views
0

我們有一個網站,http://www.globalforcestn.com/。除了我在模板中添加的條件IE註釋外,一切都很好。因此,該網站在IE(特別是菜單)中無法正確顯示。它被移動到左邊。這是我們的代碼:Conditional IE評論評論不工作在Joomla

<!--[if lt IE 11]> 
<link href="/modules/mod_maximenuck/themes/css3megamenu/css/ie7.css" rel="stylesheet" type="text/css" /> 
<![endif]--> 

但它不會兌現IE的條件。它將在瀏覽器設置爲兼容模式時呈現它。但是,該網站在兼容模式上看起來更糟糕。

希望得到您的回覆。謝謝!

+0

FYI你可能要張貼在joomla.stackexchange.com – 2014-10-08 07:54:42

回答

0

有條件的意見表示支持已在Internet Explorer 10倍的標準被刪除,這意味着IE10後來conditiona評論被認爲就像普通的註釋(由瀏覽器忽略)

來源:http://msdn.microsoft.com/en-us/library/ie/hh801214(v=vs.85).aspx

+0

今後再發生類似的問題,我只是發現了這一點。謝謝(你的)信息。那麼你知道IE 11的任何CSS黑客嗎?謝謝! – emmet 2014-10-08 14:29:54

3

IE停止支持IE10以上的條件註釋。因此,條件註釋僅適用於IE9,IE8,IE7,如果您仍支持IE6(IE5及以下版本,但支持IE5的用戶)。

所以,如果你的目標是IE9和簡單的[if IE]會做,因爲它會被IE10及以上忽略。如果你想在IE10上面工作,你的運氣不好。

請參見微軟公告:http://msdn.microsoft.com/en-us/library/ie/hh801214(v=vs.85).aspx

0

你唯一的辦法爲目標IE10 +是使用瀏覽器檢測代碼。您可以使用php函數獲取瀏覽器詳細信息,如$browser = get_browser();,然後使用strpos來搜索瀏覽器代理字符串。但因爲你的問題提到joomla。 joomla中實現了一個php函數,它很容易使用。如果有人想嘗試,我會分享它。

jimport('joomla.environment.browser');  
    $browser = &JBrowser::getInstance(); 
    $browserType = $browser->getBrowser(); 
    $browserVersion = $browser->getMajor(); 
    $client = new JApplicationWebClient(); 

然後,您可以使用if else語句並進行比較。您可以使用此link來檢查IE瀏覽器用戶代理。

例如,對於IE 10 & 11我會用以下

 if(($browserType == 'mozilla') && ($client->engine == JApplicationWebClient::TRIDENT)) //IE11 

     if(($browserType == 'msie') && ($client->engine == JApplicationWebClient::TRIDENT)) //IE10 

許多瀏覽器將使用Mozilla瀏覽器,但很少會使用流行的三叉戟和非盡除IE瀏覽器。注意:你需要檢查瀏覽器類型爲IE 10我認爲這是msie。然而,你需要得到修正,以針對特定的IE瀏覽器,在這種情況下可以RV:11.0,你可以檢查測試頁上只使用print_r($agentString)

爲了做到這一點,你需要使用$agentString = $browser->getAgentString();

,然後使用strpos 執行字符串搜索因此對於IE 10 & 11: $ ieagentversion10 = strpos($ agentString,'10'); $ ieagentversion11 = strpos($ agentString,'11'); 然後,你可以簡單地將其添加到If語句:

&& ($ieagentversion10 == true) 
&& ($ieagentversion11 == true)