當前將壁虎,歌劇,msie,webkit等指向其自己的其他樣式表的最佳實踐是什麼?爲各種瀏覽器鏈接單獨/有條件/獨特的樣式表
瀏覽器嗅探出來了嗎?我在網上找到的大部分內容都是從2008年起的舊帖子,或者關於正確與錯誤的理論爭論,或者如何使用或者其他。
必須有更復雜的東西,我們可以使用這個。一些jquery或者php說(僞代碼),「IF moz,@import url(moz.css)」或者其他。
當前將壁虎,歌劇,msie,webkit等指向其自己的其他樣式表的最佳實踐是什麼?爲各種瀏覽器鏈接單獨/有條件/獨特的樣式表
瀏覽器嗅探出來了嗎?我在網上找到的大部分內容都是從2008年起的舊帖子,或者關於正確與錯誤的理論爭論,或者如何使用或者其他。
必須有更復雜的東西,我們可以使用這個。一些jquery或者php說(僞代碼),「IF moz,@import url(moz.css)」或者其他。
從useragent中檢測瀏覽器併爲該瀏覽器包含適當的css。
$browser = get_browser($_SERVER['HTTP_USER_AGENT'], true);
switch ($browser['browser']) {
case "IE": //load ie specific css
break;
case "Firefox":
case "Mozilla": //load gecko specific css
break;
case "Safari": //load safari css
break;
case "Opera": //load opera css
break;
default:
echo '<link href="default.css" rel="stylesheet" type="text/css" />';
}
這裏是一個detailed article上get_browser()函數。
檢測特定的瀏覽器是一個壞主意,因爲不同的版本可能有不同的功能,您可能不知道。更好的解決方案是使用像Modernizr這樣的東西來檢測特徵,以及相應的樣式。
如果必須檢測無論出於何種原因,雖然不同的渲染引擎,在PHP這是相對簡單的使用browser_info()
方法:
<head>
...
<!-- Stylesheets for all browsers -->
<link rel="stylesheet" href="style.css" />
<?php
$browser = get_browser(null, true);
switch($browser['browser']){
case 'Firefox':
// User is using Firefox
$style = 'firefox.css';
break;
case 'Safari':
// User is using Safari
$style = 'safari.css';
break;
}
if(isset($style)){
// Specific browser stylesheet set - add to page
?>
<link rel="stylesheet" href="<?php echo $style;?>" />
<?php } ?>
</head>
單詞「switch」把我扔掉了,從我收集的這段代碼會切換樣式,但我只需要一些東西這針對某些瀏覽器的附加樣式表。 – user1691389
@ user1691389我已更新示例以嘗試更清楚一點。 'switch'語句是許多編程語言的一個共同特徵 - 查看[PHP手冊中關於它們的頁面](http://php.net/manual/en/control-structures.switch.php)更基本的解釋! – Adam
這兩個示例中的第一行都給出了錯誤。我很感激你的幫助,但是我知道什麼時候該退出。我只是使用一個巨大的樣式表,它不是世界末日。 – user1691389
這看起來像它正是我需要的,但你可以更具體一點嗎?代碼無用。什麼是檢測歌劇和壁虎的確切代碼片段,並將它們指向他們自己的相關樣式表? – user1691389
你必須使用browser_info()函數,如get_browser($ _ SERVER ['HTTP_USER_AGENT'],true);你會得到它是什麼類型的瀏覽器,但是爲了使用這個功能,你需要在腳本中做一些改變 –