Skip to content

Commit d202c22

Browse files
committed
FirefoxのAndroid版をスマホ扱いに変更。特別な配慮は無いので不具合は知らん。
Android2.2以下に対する互換性の配慮を削除。早くなるはず。
1 parent b1b4e0d commit d202c22

4 files changed

Lines changed: 57 additions & 6 deletions

File tree

lib/UA.php

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ static public function isIPhoneGroup($aua = null)
183183

184184
// iPod touch
185185
// Mozilla/5.0 (iPod; U; CPU like Mac OS X; ja-jp) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A110a Safari/419.3
186-
if (preg_match('/iP(?:hone|[ao]d)/', $ua) || self::isAndroidWebKit($ua)) {
186+
if (preg_match('/iP(?:hone|[ao]d)/', $ua) || self::isAndroid($ua)) {
187187
$isiPhoneGroup = true;
188188
}
189189

@@ -457,6 +457,34 @@ static public function isNintendoDS($ua = null)
457457
return false;
458458
}
459459

460+
// }}}
461+
// {{{ isAndroid()
462+
463+
/**
464+
* UAがAndroidならtrueを返す。
465+
*
466+
* @param string $ua UAを指定するなら
467+
* @return boolean
468+
*/
469+
static public function isAndroid($ua = null)
470+
{
471+
if (is_null($ua) and isset($_SERVER['HTTP_USER_AGENT'])) {
472+
$ua = $_SERVER['HTTP_USER_AGENT'];
473+
}
474+
if (!$ua) {
475+
return false;
476+
}
477+
// シミュレータ
478+
// Mozilla/5.0 (Linux; U; Android 1.0; en-us; generic) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2
479+
// T-mobile G1
480+
// Mozilla/5.0 (Linux; U; Android 1.0; en-us; dream) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2
481+
// genericとdreamが異なる
482+
if (false !== strpos($ua, 'Android')) {
483+
return true;
484+
}
485+
return false;
486+
}
487+
460488
// }}}
461489
// {{{ isAndroidWebKit()
462490

@@ -485,6 +513,29 @@ static public function isAndroidWebKit($ua = null)
485513
return false;
486514
}
487515

516+
// }}}
517+
// {{{ isAndroidWebKit()
518+
519+
/**
520+
* UAがAndroid(でFirefox)ならtrueを返す。
521+
*
522+
* @param string $ua UAを指定するなら
523+
* @return boolean
524+
*/
525+
static public function isAndroidFirefox($ua = null)
526+
{
527+
if (is_null($ua) and isset($_SERVER['HTTP_USER_AGENT'])) {
528+
$ua = $_SERVER['HTTP_USER_AGENT'];
529+
}
530+
if (!$ua) {
531+
return false;
532+
}
533+
if (false !== strpos($ua, 'Android') && false !== strpos($ua, 'Firefox')) {
534+
return true;
535+
}
536+
return false;
537+
}
538+
488539
// }}}
489540
// {{{ isSafariGroup()
490541

lib/bootstrap.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -457,15 +457,15 @@
457457
<script type="text/javascript" src="js/iphone.js?{$_conf['p2_version_id']}"></script>
458458
EOS;
459459
}
460-
460+
/*
461461
// AndroidではJavaScript-XPathを使う
462462
if ($_conf['iphone'] && UA::isAndroidWebKit()) {
463463
$_conf['extra_headers_ht'] .= <<<EOS
464464
<script type="text/javascript">window.jsxpath = { 'useNative': false };</script>
465465
<script type="text/javascript" src="js/javascript-xpath.js?{$_conf['p2_version_id']}"></script>
466466
EOS;
467467
}
468-
468+
*/
469469
// iPhone用スキン
470470
if ($_conf['iphone'] && isset($_conf['expack.iphone.skin'])) {
471471
if (strpos($_conf['expack.iphone.skin'], DIRECTORY_SEPARATOR) === false) {

lib/toolbar_i.inc.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -497,7 +497,7 @@ function _toolbar_i_client_type()
497497

498498
switch ($_conf['client_type']) {
499499
case 'i':
500-
$type = UA::isAndroidWebKit() ? 'android' : 'iphone';
500+
$type = UA::isAndroid() ? 'android' : 'iphone';
501501
break;
502502
case 'i':
503503
$type = 'mobile';

rep2/menu_i.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@
5555
<?php echo $_conf['touch_icon_ht']; ?>
5656
<script type="text/javascript" src="iui/iui.js?<?php echo $_conf['p2_version_id']; ?>"></script>
5757
<script type="text/javascript" src="js/json2.js?<?php echo $_conf['p2_version_id']; ?>"></script>
58-
<?php if (UA::isAndroidWebKit()) { ?>
58+
<?php /*if (UA::isAndroidWebKit()) { ?>
5959
<script type="text/javascript">window.jsxpath = { 'useNative': false };</script>
6060
<script type="text/javascript" src="js/javascript-xpath.js?<?php echo $_conf['p2_version_id']; ?>"></script>
61-
<?php } ?>
61+
<?php }*/ ?>
6262
<script type="text/javascript" src="js/iphone.js?<?php echo $_conf['p2_version_id']; ?>"></script>
6363
<script type="text/javascript" src="js/menu_i.js?<?php echo $_conf['p2_version_id']; ?>"></script>
6464
<?php

0 commit comments

Comments
 (0)