• R/O
  • HTTP
  • SSH
  • HTTPS

clientJs: コミット

クライアント側 js 開発用


コミットメタ情報

リビジョン76ea1040608829b653422cf51b3490801d2ec1fa (tree)
日時2016-01-29 11:22:57
作者itozyun <itozyun@user...>
コミッターitozyun

ログメッセージ

Version 0.6.208, bug fixes.

変更サマリ

差分

--- a/0.6.x/index.html
+++ b/0.6.x/index.html
@@ -10,7 +10,7 @@
1010 <meta http-equiv="imagetoolbar" content="no">
1111 <meta name="format-detection" content="telephone=no">
1212 <meta name="apple-mobile-web-app-capable" content="yes">
13-<meta name="viewport" id="dynamic-viewport" content="width=device-width,target-densitydpi=device-dpi,initial-scale=1,user-scalable=0,maximum-scale=1,minimum-scale=1">
13+<meta name="viewport" id="dynamic-viewport" content="width=device-width,target-densitydpi=medium-dpi,initial-scale=1,user-scalable=0,maximum-scale=1,minimum-scale=1">
1414 <link rel="stylesheet" type="text/css" media="all" href="css/xui.css">
1515
1616 <script type="text/javascript" src="js/import.js"></script>
--- a/0.6.x/js/01_core/02_XUA.js
+++ b/0.6.x/js/01_core/02_XUA.js
@@ -55,75 +55,78 @@ var X_UA = X[ 'UA' ] = {},
5555
5656 // 4:3 model
5757 v = screen.width === screen.height * 1.5 || screen.width * 1.5 === screen.height;
58-
59- if( sys === 'iPhone' ){
60- /**
61- * @alias X.UA.iPhone
62- * @type {boolean}
63- */
64- X_UA[ 'iPhone' ] = true;
65- if( v ){
58+
59+ switch( sys ){
60+ case 'iPhone' :
61+ case 'iPhone Simulator' :
6662 /**
67- * iPhone4s以下
68- * @alias X.UA.iPhone_4s
63+ * @alias X.UA.iPhone
6964 * @type {boolean}
7065 */
71- X_UA[ 'iPhone_4s' ] = true;
72-
73- if( i ){
66+ X_UA[ 'iPhone' ] = true;
67+ if( v ){
7468 /**
75- * iPhone3GS以下
76- * @alias X.UA.iPhone_3GS
69+ * iPhone4s以下
70+ * @alias X.UA.iPhone_4s
7771 * @type {boolean}
7872 */
79- X_UA[ 'iPhone_3GS' ] = true;
80- };
81- };
82-
83- //alert( 'iPhone ' + ( X_UA[ 'iPhone_3GS' ] ? '3GS以下' : X_UA[ 'iPhone_4s' ] ? '4s以下' : '5以上' ) );
84- };
85- if( sys === 'iPad' ){
86- /**
87- * @alias X.UA.iPad
88- * @type {boolean}
89- */
90- X_UA[ 'iPad' ] = true;
91- if( i ){
73+ X_UA[ 'iPhone_4s' ] = true;
74+
75+ if( i ){
76+ /**
77+ * iPhone3GS以下
78+ * @alias X.UA.iPhone_3GS
79+ * @type {boolean}
80+ */
81+ X_UA[ 'iPhone_3GS' ] = true;
82+ };
83+ };
84+ break;
85+
86+ case 'iPad' :
87+ case 'iPad Simulator' :
9288 /**
93- * iPad2以下または初代iPad mini 以下
94- * @alias X.UA.iPad_2Mini1
89+ * @alias X.UA.iPad
9590 * @type {boolean}
9691 */
97- X_UA[ 'iPad_2Mini1' ] = true;
98- };
99- };
100- if( sys === 'iPod' ){
101- /**
102- * @alias X.UA.iPod
103- * @type {boolean}
104- */
105- X_UA[ 'iPod' ] = true;
106-
107- if( v ){
92+ X_UA[ 'iPad' ] = true;
93+ if( i ){
94+ /**
95+ * iPad2以下または初代iPad mini 以下
96+ * @alias X.UA.iPad_2Mini1
97+ * @type {boolean}
98+ */
99+ X_UA[ 'iPad_2Mini1' ] = true;
100+ };
101+ break;
102+
103+ case 'iPod' :
104+ case 'iPod Simulator' : // 必要??
108105 /**
109- * iPod4以下
110- * @alias X.UA.iPod_4
106+ * @alias X.UA.iPod
111107 * @type {boolean}
112108 */
113- X_UA[ 'iPod_4' ] = true;
114-
115- if( i ){
109+ X_UA[ 'iPod' ] = true;
110+
111+ if( v ){
116112 /**
117- * iPod3以下
118- * @alias X.UA.iPod_3
113+ * iPod4以下
114+ * @alias X.UA.iPod_4
119115 * @type {boolean}
120116 */
121- X_UA[ 'iPod_3' ] = true;
122- };
123- };
124- //alert( 'iPod touch ' + ( X_UA[ 'iPod_3' ] ? '3以下' : X_UA[ 'iPod_4' ] ? '4以下' : '5以上' ) );
117+ X_UA[ 'iPod_4' ] = true;
118+
119+ if( i ){
120+ /**
121+ * iPod3以下
122+ * @alias X.UA.iPod_3
123+ * @type {boolean}
124+ */
125+ X_UA[ 'iPod_3' ] = true;
126+ };
127+ };
128+ break;
125129 };
126- // TODO iPhone Simulator
127130
128131 console.log( '>> iOS : ' + X_UA[ 'iOS' ] );
129132 } else
@@ -692,16 +695,16 @@ var X_UA = X[ 'UA' ] = {},
692695 */
693696 X_UA[ 'Safari' ] = v;
694697 } else
695- if( i <= 528.16 ){
696- X_UA[ 'Safari' ] = i < 73 ? 0.8 :
697- i < 85 ? 0.9 :
698- i < 100 ? 1 :
699- i < 125 ? 1.1 :
700- i < 312 ? 1.2 :
701- i < 412 ? 1.3 :
702- i <= 419.3 ? 2 :
703- i <= 525.13 ? 3 :
704- i <= 525.25 ? 3.1 : 3.2;
698+ if( v <= 528.16 ){
699+ X_UA[ 'Safari' ] = v < 73 ? 0.8 :
700+ v < 85 ? 0.9 :
701+ v < 100 ? 1 :
702+ v < 125 ? 1.1 :
703+ v < 312 ? 1.2 :
704+ v < 412 ? 1.3 :
705+ v <= 419.3 ? 2 :
706+ v <= 525.13 ? 3 :
707+ v <= 525.25 ? 3.1 : 3.2;
705708 };
706709 };
707710
--- a/0.6.x/js/01_core/13_XClass.js
+++ b/0.6.x/js/01_core/13_XClass.js
@@ -214,7 +214,7 @@ X_Class_CommonMethods =
214214 proto = sClass.prototype,
215215 i = X_Class_SUPER_CALLER.indexOf( me ),
216216 args = arguments,
217- p, name, t, sFunc, ret;
217+ p, name, stack, t, sFunc, ret;
218218
219219 if( X_Type_isFunction( myFunc ) ){
220220 for( p in proto ){
--- a/0.6.x/js/05_util/04_XXML.js
+++ b/0.6.x/js/05_util/04_XXML.js
@@ -12,17 +12,26 @@
1212 X[ 'XML' ] = XMLWrapper;
1313
1414 /**
15- * XML 探索用のラッパークラスです
15+ * XML ツリーを探索して読み出す用のラッパークラスです.XML を操作する機能はありません、あしからず…
1616 * @alias X.XML
1717 * @class XML 探索用のラッパークラスです
1818 * @constructor
1919 * @param {XMLElement}
2020 */
2121 function XMLWrapper( xml ){
22- this._rawXML = xml;
22+ if( xml ){
23+ this._rawXML = xml;
24+ this.tagName = xml.tagName;
25+ };
2326 };
2427
2528 /**
29+ * tagName または nodeName
30+ * @alias X.XML.prototype.tagName
31+ * @type {string}
32+ */
33+XMLWrapper.prototype.tagName = '';
34+/**
2635 * ラップした xml の数 常に1または0, XMLList の場合2以上
2736 * @alias X.XML.prototype.length
2837 * @type {Number}
--- a/0.6.x/js/05_util/06_XWindow.js
+++ b/0.6.x/js/05_util/06_XWindow.js
@@ -68,7 +68,8 @@ var X_Window = X[ 'Util' ][ 'Window' ] = X_EventDispatcher[ 'inherits' ](
6868 'url' : function( url ){
6969 var pair = X_Pair_get( this );
7070
71- pair && ( pair.location.href = url );
71+ pair && ( pair.page.location.href = url );
72+ return this;
7273 },
7374
7475 /**
@@ -103,13 +104,13 @@ var X_Window = X[ 'Util' ][ 'Window' ] = X_EventDispatcher[ 'inherits' ](
103104 },
104105
105106 /**
106- * 別窓にfocusする
107+ * 別窓にfocusする ..firefox でできない...
107108 * @return {Window} チェーンメソッド
108109 */
109110 'focus' : function(){
110111 var pair = X_Pair_get( this );
111112
112- pair && pair[ 'focus' ]();
113+ pair && pair.page[ 'focus' ]();
113114 return this;
114115 }
115116 }
--- a/0.6.x/js/07_audio/01_XWebAudio.js
+++ b/0.6.x/js/07_audio/01_XWebAudio.js
@@ -90,7 +90,7 @@ var X_WebAudio_context = // 4s 以下ではない iPad 2G または iPad mi
9090 //!X_UA[ 'Blink' ] &&
9191 // Firefox40.0.5 + Windows8 で音声が途中から鳴らなくなる
9292 // Firefox41.0.1 + Windows8 で音声が途中から鳴らなくなる
93- !( 40 <= X_UA[ 'Gecko' ] && X_UA[ 'Gecko' ] < 44 && X_UA[ 'Windows' ] ) &&
93+ !( 40 <= X_UA[ 'Gecko' ] && X_UA[ 'Gecko' ] < 45 && X_UA[ 'Windows' ] ) &&
9494 ( window[ 'AudioContext' ] || window[ 'webkitAudioContext' ] ),
9595 X_WebAudio_BUFFER_LIST = [],
9696 X_WebAudio_need1stTouch = X_UA[ 'iOS' ],
--- a/0.6.x/js/07_audio/02_XHTMLAudio.js
+++ b/0.6.x/js/07_audio/02_XHTMLAudio.js
@@ -328,7 +328,11 @@ if( X_Audio_constructor ){
328328 //case 'ratechange' : // defaultPlaybackRate属性とplaybackRate属性のどちらかが更新された場合に発生
329329 //case 'volumechange' : // volume属性とmuted属性のどちらかが変化した場合に発生
330330 break;
331-
331+
332+ case 'seeking' : // シークがtrueに変化し、イベントを発生させるのに十分な時間がシーク操作にかかっている場合に発生
333+ eventType = X_EVENT_MEDIA_SEEKING;
334+ if( X_HTMLAudio_seekingFixIOS ) this._seekingFixON = true;
335+ break;
332336 case 'seeked' :
333337 if( X_HTMLAudio_seekingFixIOS ) this._seekingFixON = false;
334338 break;
@@ -336,10 +340,6 @@ if( X_Audio_constructor ){
336340 case 'waiting' : // 次のフレームが利用不可のため再生を停止したが、そのフレームがやがて利用可能になると想定している場合に発生
337341 eventType = X_EVENT_MEDIA_WAITING;
338342 break;
339- case 'seeking' : // シークがtrueに変化し、イベントを発生させるのに十分な時間がシーク操作にかかっている場合に発生
340- eventType = X_EVENT_MEDIA_SEEKING;
341- if( X_HTMLAudio_seekingFixIOS ) this._seekingFixON = true;
342- break;
343343 };
344344
345345 // duration は Infinity, NaN, 0 の場合があるため、これを除外する
旧リポジトリブラウザで表示