X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=0.6.x%2Fjs%2Fcore%2F01_XUa.js;h=7296b60a2c1abed6ecc93e5a5152305ba6c9acbd;hb=53149facb2f22305d34b9ac01803a6af433355d0;hp=c0a34b4f27b47cc7efce0e5da24493cb79ea50de;hpb=80c361b64bd6d12ba49479e882dd586fe3995829;p=pettanr%2FclientJs.git diff --git a/0.6.x/js/core/01_XUa.js b/0.6.x/js/core/01_XUa.js index c0a34b4..7296b60 100644 --- a/0.6.x/js/core/01_XUa.js +++ b/0.6.x/js/core/01_XUa.js @@ -1,7 +1,7 @@ + /* * UA */ - X.UA = (function( n, undefined ){ var acme = {}, dua = n.userAgent, @@ -28,7 +28,20 @@ X.UA = (function( n, undefined ){ i = Math.max(dav.indexOf("WebKit"), dav.indexOf("Safari"), 0); if( i && !acme.Chrome ){ acme.Safari = parseFloat( dav.split("Version/")[1] ); - if( !acme.Safari || parseFloat(dav.substr( i + 7 )) <= 419.3 ){ + i = parseFloat(dav.substr( i + 7 )); + if( !acme.Safari && i < 100 ){ + acme.Safari = 1; + }; + if( !acme.Safari && i < 125 ){ + acme.Safari = 1.1; + }; + if( !acme.Safari && i < 312 ){ + acme.Safari = 1.2; + }; + if( !acme.Safari && i < 412 ){ + acme.Safari = 1.3; + }; + if( !acme.Safari && i <= 419.3 ){ acme.Safari = 2; }; }; @@ -39,8 +52,13 @@ X.UA.Android = navigator.userAgent.toLowerCase().indexOf( 'android' ) !== -1; X.UA.iOS = navigator.userAgent.toLowerCase().indexOf( 'iphone' ) !== -1 || navigator.userAgent.toLowerCase().indexOf( 'ipad' ) !== -1 || navigator.userAgent.toLowerCase().indexOf( 'ipod' ) !== -1; +X.UA.IEMobile = navigator.userAgent.toLowerCase().indexOf( 'iemobile' ) !== -1 || + ( X.UA.IE && navigator.userAgent.toLowerCase().indexOf( 'windows phone' ) !== -1 ); X.UA.TouchPad = navigator.userAgent.toLowerCase().indexOf( 'hp-tablet' ) !== -1; +//http://www.useragentstring.com/pages/Iris/ +X.UA.Iris = navigator.userAgent.toLowerCase().indexOf( 'iris' ) !== -1; + X.UA.EInk = // Kobo Mozilla/5.0 (Linux; U; Android 2.0; en-us;) AppleWebKit/533.1 (KHTML, like Gecko) Verson/4.0 Mobile Safari/533.1 (Kobo Touch) navigator.userAgent.indexOf( 'Kobo' ) !== -1 || @@ -50,3 +68,28 @@ X.UA.EInk = navigator.userAgent.indexOf( 'EBRD' ) !== -1; if( X.UA.IE && X.UA.IE < 10 ) X.UA.ActiveX = !!window[ 'ActiveXObject' ]; + +X.inObject = X.UA.IE && X.UA.IE < 5 ? + (function( name, obj ){ + var p; + if( obj[ name ] ) return true; + name += ''; // 数値も許可 + for( p in obj ){ + if( p === name ) return true; + }; + return false; + }) : + new Function( 'a,b', 'return a in b' ); + + +// Safari 3.1 未満は開発コンソールがない! +// http://shimax.cocolog-nifty.com/search/2006/09/safarijavascrip_c54d.html +if( X.UA.Safari && X.UA.WebKit < 525.13 ){ + window.onerror = function( x, y, z ){ + var n = String.fromCharCode( 10 ); + alert('window.onerrorによるエラーの捕捉:' + n + x + n + y + 'の' + z + '行目付近です。'); + return true; + }; +}; + +