From dd4fcb6269ff74be253a767826aa5dfb96dd4acc Mon Sep 17 00:00:00 2001 From: itozyun Date: Wed, 23 Dec 2015 10:39:50 +0900 Subject: [PATCH] Version 0.6.204, bug fixes X.UA, update X.Util.Window. --- 0.6.x/js/01_core/02_XUA.js | 12 ++++++------ 0.6.x/js/05_util/06_XWindow.js | 20 ++++++++++++++++---- 0.6.x/js/07_audio/01_XWebAudio.js | 2 +- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/0.6.x/js/01_core/02_XUA.js b/0.6.x/js/01_core/02_XUA.js index a1e3aae..896be7e 100644 --- a/0.6.x/js/01_core/02_XUA.js +++ b/0.6.x/js/01_core/02_XUA.js @@ -53,9 +53,8 @@ var X_UA = X[ 'UA' ] = {}, */ X_UA[ 'iOS' ] = X_UA[ 'iOSMajor' ] + X_UA[ 'iOSMinor' ] / 10; - if( screen.width === screen.height * 1.5 || screen.width * 1.5 === screen.height ){ - v = true; // 4:3 model - }; + // 4:3 model + v = screen.width === screen.height * 1.5 || screen.width * 1.5 === screen.height; if( sys === 'iPhone' ){ /** @@ -279,12 +278,12 @@ var X_UA = X[ 'UA' ] = {}, * @alias X.UA.Opera7 * @type {boolean} */ - X_UA[ 'Opera7' ] = v < 8; + X_UA[ 'Opera7' ] = v < 8; /** * @alias X.UA.Opera78 * @type {boolean} */ - X_UA[ 'Opera78' ] = v < 9; + X_UA[ 'Opera78' ] = v < 9; if( 0 < dua.indexOf( 'Opera Mini' ) ) /** @@ -376,7 +375,7 @@ var X_UA = X[ 'UA' ] = {}, * @alias X.UA.IE * @type {number} */ - X_UA[ 'IE' ] = v = document.documentMode || tridentToVer; + X_UA[ 'IE' ] = v = document.documentMode || tridentToVer; if( v < 4.5 ){ /** @@ -736,6 +735,7 @@ var X_UA = X[ 'UA' ] = {}, (function(){ var k, v; + if( X_UA[ 'IE45' ] || X_UA[ 'IE4' ] ){ if( X_UA[ 'Mac' ] ){ X_UA_classNameForHTML = 'Mac'; diff --git a/0.6.x/js/05_util/06_XWindow.js b/0.6.x/js/05_util/06_XWindow.js index 3fbe53a..e6da249 100644 --- a/0.6.x/js/05_util/06_XWindow.js +++ b/0.6.x/js/05_util/06_XWindow.js @@ -1,6 +1,7 @@ /** * 別窓(別タブ)の操作 *
    + *
  1. ポップアップブロックされないように、pointer event, click event 内でインスタンスを作る *
  2. win.kill() で別窓を閉じる *
  3. win.kill() 以外で閉じられた場合、ユーザーの[x]ボタン操作や、他のscriptによって閉じられた場合、X.Event.UNLOAD イベントを発して自身を kill する。 *
@@ -32,10 +33,6 @@ var X_Window = X[ 'Util' ][ 'Window' ] = X_EventDispatcher[ 'inherits' ]( html = options[ 'html' ], doc = X_Script_try( X_Object_find, [ page, 'document' ] ); - if( !url && html ){ - this[ 'write' ]( html ); - }; - X_ViewPort[ 'listenOnce' ]( X_EVENT_UNLOAD, this, X_Util_Window_handleEvent ); this[ 'listenOnce' ]( [ X_EVENT_UNLOAD, X_EVENT_KILL_INSTANCE ], X_Util_Window_handleEvent ); @@ -43,6 +40,10 @@ var X_Window = X[ 'Util' ][ 'Window' ] = X_EventDispatcher[ 'inherits' ]( page : page, timerID : X_Timer_add( options[ 'interval' ] || 500, 0, this, X_Util_Window_onTimer ) } ); + + if( !url && html ){ + this[ 'write' ]( html ); + }; }, /** @@ -99,6 +100,17 @@ var X_Window = X[ 'Util' ][ 'Window' ] = X_EventDispatcher[ 'inherits' ]( var pair = X_Pair_get( this ); if( pair ) return X_Script_try( X_Object_find, [ pair.page, selector ] ); + }, + + /** + * 別窓にfocusする + * @return {Window} チェーンメソッド + */ + 'focus' : function(){ + var pair = X_Pair_get( this ); + + pair && pair[ 'focus' ](); + return this; } } ); diff --git a/0.6.x/js/07_audio/01_XWebAudio.js b/0.6.x/js/07_audio/01_XWebAudio.js index 292b6b4..5d7124e 100644 --- a/0.6.x/js/07_audio/01_XWebAudio.js +++ b/0.6.x/js/07_audio/01_XWebAudio.js @@ -88,7 +88,7 @@ var X_WebAudio_context = // 4s 以下ではない iPad 2G または iPad mi //!X_UA[ 'Blink' ] && // Firefox40.0.5 + Windows8 で音声が途中から鳴らなくなる // Firefox41.0.1 + Windows8 で音声が途中から鳴らなくなる - !( 40 <= X_UA[ 'Gecko' ] && X_UA[ 'Gecko' ] < 43 && X_UA[ 'Windows' ] ) && + !( 40 <= X_UA[ 'Gecko' ] && X_UA[ 'Gecko' ] < 44 && X_UA[ 'Windows' ] ) && ( window[ 'AudioContext' ] || window[ 'webkitAudioContext' ] ), X_WebAudio_BUFFER_LIST = [], X_WebAudio_need1stTouch = X_UA[ 'iOS' ], -- 2.11.0