この質問が冗長に思われる場合は申し訳ありませんが、周りを見回すと、OS とは対照的に、ブラウザーごとの条件付き CSS に関して多くの質問があることがわかりました。
OSごとに異なるスタイルシートを簡単にロードする方法はありますか? (Macでピクセルウォーキングの背景を回避しようとしています。)できれば、Wordpressの子テーマにうまく統合できるオプションが必要です。
ありがとうございました!
この質問が冗長に思われる場合は申し訳ありませんが、周りを見回すと、OS とは対照的に、ブラウザーごとの条件付き CSS に関して多くの質問があることがわかりました。
OSごとに異なるスタイルシートを簡単にロードする方法はありますか? (Macでピクセルウォーキングの背景を回避しようとしています。)できれば、Wordpressの子テーマにうまく統合できるオプションが必要です。
ありがとうございました!
最善の方法は、ユーザー エージェントごとに分割してから、別のスタイルシートを提供することです。wordperss を使用している場合、これは PHP になります。#
$_SERVER['HTTP_USER_AGENT']
私は数年前に同じ質問をしました。記事をもう一度見つけるためにしばらく検索する必要があったため、記事のコードを次に示します。
function get_broswer_stylesheet ($test_by = 'browser')
{
$broswer = array(
'MSIE', // parent
'OPERA',
'MOZILLA',
'NETSCAPE',
'FIREFOX',
'SAFARI',
'CHROME'
);
$os = array(
'MAC',
'WINDOWS',
'LINUX'
);
$info[browser] = 'OTHER';
$info[os] = 'OTHER';
$user_agent = $_SERVER['HTTP_USER_AGENT'];
foreach ($broswer as $parent)
{
$s = strpos(strtoupper($user_agent), $parent);
$f = $s + strlen($parent);
$version = substr($user_agent, $f, 5);
$version = preg_replace('/[^0-9,.]/', '', $version);
if (strpos(strtoupper($user_agent), $parent))
{
$info[browser] = $parent;
$info[version] = $version;
}
}
foreach ($os as $parent)
{
if (strpos(strtoupper($user_agent), $parent))
{
$info[os] = $parent;
}
}
if ($test_by == 'browser' || $test_by == 'os')
{
$string = '<link rel="stylesheet" type="text/css" href="' . get_bloginfo('template_directory') . '/css/';
if ($test_by == 'browser')
{
if ($info[browser] == 'MSIE') {
switch ($info[version])
{
case 9 : $string .= 'ie9.css'; break;
case 8 : $string .= 'ie8.css'; break;
case 7 : $string .= 'ie7.css'; break;
default: $string .= 'ie6.css'; break;
}
} elseif ( $info[browser] == 'FIREFOX') {
$string .= 'firefox.css';
} elseif ($info[browser] == 'SAFARI') {
$string .= 'safari.css';
} elseif ($info[browser] == 'CHROME') {
$string .= 'chrome.css';
} else {
$string .= 'style.css';
}
} elseif ($test_by == 'os') {
if ($info[os] == 'MAC') {
$string .= 'mac.css';
} elseif ($info[os] == 'WINDOWS') {
$string .= 'windows.css';
} elseif ($info[os] == 'LINUX') {
$string .= 'linux.css';
} else {
$string .= 'style.css';
}
}
$string .= '">';
return $string;
}
}
それが役立つことを願っています。$test_by
パラメータをbrowser
またはに設定するos
と、適切なスタイルシートが配信されます。