2012-11-11 28 views
3

我正在爲我在開發的wordpress主題設置IE檢查。我想檢查Internet Explorer 7,所以,如果我使用下面的代碼:使用PHP檢查IE是否很糟糕

<?php 
if (preg_match('/\bmsie 7/i', $ua) && !preg_match('/\bopera/i', $ua)) 
echo 'Do Something' 
?> 

相反的:

<!--[if lt IE 7]> 
Do Something 
<![endif]--> 

有什麼缺點呢?只是在需要時才加載HTML。任何見解都會被讚賞。

編輯

上發現這樣做的PHP方式這真是一篇好文章:http://www.kingofdevelopers.com/php-classes/get-browser-name-version.php

回答

2

嘗試檢測平臺,發動機和版本,覆蓋了很多可能的瀏覽器,讓我根據代碼例如,引擎壁虎涵蓋了firefox,seamonkey和所有基於壁虎的瀏覽器。

在PHP

使用

$browser = get_browser(null, true); 
print_r($browser); 
+0

get_browser()使用browscap.ini是瀏覽器功能項目,其中不幸的是當前關閉的一部分。在確定項目將重新開放之前,最好不要使用此功能。 –

+0

@cryptic你可以給我鏈接[這裏](http://php.net/manual/en/function.get-browser.php)沒有任何警告 –

+0

https://groups.google.com/forum/# !topic/browscap/Yy3Djd1Mqvk http://browsers.garykeith.com/ https://github.com/GaretJax/phpbrowscap/issues/24 –

1

兩者都是正確的。第二種方式是客戶端,如果您使用一些常見的活動(如包括SVG特定元素,IE特定樣式表等),這將是有益的,您可以減少服務器端處理。

0

我同意user1759084,他們都是「正確的」,但我會補充說,這取決於你提供多少HTML。如果數量相當多,檢查服務器(php check)會更有意義,如果只是幾行,最好讓客戶端決定(HTML條件)。你真的應該使用功能檢測,而不是瀏覽器檢測,但有些情況下,這是行不通的。

相關問題