OSDN Git Service
(root)
/
pettanr
/
clientJs.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
bafa868
)
Version 0.6.214, bug fixes X.KB.
author
itozyun
<itozyun@user.sourceforge.jp>
Sat, 5 Mar 2016 15:49:21 +0000
(
00:49
+0900)
committer
itozyun
<itozyun@user.sourceforge.jp>
Sat, 5 Mar 2016 15:49:21 +0000
(
00:49
+0900)
0.6.x/js/01_core/01_X.js
patch
|
blob
|
history
0.6.x/js/01_core/02_XUA.js
patch
|
blob
|
history
0.6.x/js/01_core/21_XViewPort.js
patch
|
blob
|
history
0.6.x/js/02_dom/03_XDomEvent.js
patch
|
blob
|
history
0.6.x/js/02_dom/10_XNodeAnime.js
patch
|
blob
|
history
0.6.x/js/06_net/04_XNetImage.js
patch
|
blob
|
history
0.6.x/js/11_hid/01_KB.js
patch
|
blob
|
history
diff --git
a/0.6.x/js/01_core/01_X.js
b/0.6.x/js/01_core/01_X.js
index
1581967
..
8f84e89
100644
(file)
--- a/
0.6.x/js/01_core/01_X.js
+++ b/
0.6.x/js/01_core/01_X.js
@@
-64,6
+64,7
@@
X[ 'emptyFunction' ] = X_emptyFunction;
* このscriptはheadタグの中にあるか?
\r
* @type {boolean} */
\r
// TODO defer の場合もあるので、document.readyState を見る
\r
* このscriptはheadタグの中にあるか?
\r
* @type {boolean} */
\r
// TODO defer の場合もあるので、document.readyState を見る
\r
+// TODO body の有無を見ればOKではないか?
\r
// MacIE で false
\r
X[ 'inHead' ] = (function( s ){
\r
if( !s ) return false;
\r
// MacIE で false
\r
X[ 'inHead' ] = (function( s ){
\r
if( !s ) return false;
\r
diff --git
a/0.6.x/js/01_core/02_XUA.js
b/0.6.x/js/01_core/02_XUA.js
index
79f00e8
..
acf31f4
100644
(file)
--- a/
0.6.x/js/01_core/02_XUA.js
+++ b/
0.6.x/js/01_core/02_XUA.js
@@
-10,7
+10,7
@@
* @type {object}
\r
*/
\r
var X_UA = X[ 'UA' ] = {},
\r
* @type {object}
\r
*/
\r
var X_UA = X[ 'UA' ] = {},
\r
- X_UA_classNameForHTML = '
js-enabled
';
\r
+ X_UA_classNameForHTML = '';
\r
\r
(function(){
\r
var dua = navigator.userAgent,
\r
\r
(function(){
\r
var dua = navigator.userAgent,
\r
@@
-807,9
+807,10
@@
var X_UA = X[ 'UA' ] = {},
for( k in X_UA ){
\r
v = X_UA[ k ];
\r
if( v ){
\r
for( k in X_UA ){
\r
v = X_UA[ k ];
\r
if( v ){
\r
- X_UA_classNameForHTML += k + ' ';
\r
if( v !== true ){
\r
X_UA_classNameForHTML += k + v + ' ';
\r
if( v !== true ){
\r
X_UA_classNameForHTML += k + v + ' ';
\r
+ } else {
\r
+ X_UA_classNameForHTML += k + ' ';
\r
};
\r
};
\r
};
\r
};
\r
};
\r
};
\r
diff --git
a/0.6.x/js/01_core/21_XViewPort.js
b/0.6.x/js/01_core/21_XViewPort.js
index
1dc98e9
..
86682a8
100644
(file)
--- a/
0.6.x/js/01_core/21_XViewPort.js
+++ b/
0.6.x/js/01_core/21_XViewPort.js
@@
-438,7
+438,7
@@
X[ 'ViewPort' ] = {
* @alias X.Doc.html
* @type {Node}
*/
* @alias X.Doc.html
* @type {Node}
*/
- X[ 'Doc' ][ 'html' ] = html = X_Node_html = X_elmHtml && Node( X_elmHtml )[ 'removeClass' ]( 'js-disabled' )[ 'addClass' ]( X_UA_classNameForHTML );
+ X[ 'Doc' ][ 'html' ] = html = X_Node_html = X_elmHtml && Node( X_elmHtml )[ 'removeClass' ]( 'js-disabled' )[ 'addClass' ]( X_UA_classNameForHTML
.split( '.' ).join( '_' )
);
html[ '_flags' ] |= X_NodeFlags_IN_TREE;
/**
html[ '_flags' ] |= X_NodeFlags_IN_TREE;
/**
diff --git
a/0.6.x/js/02_dom/03_XDomEvent.js
b/0.6.x/js/02_dom/03_XDomEvent.js
index
bc7abf0
..
4497267
100644
(file)
--- a/
0.6.x/js/02_dom/03_XDomEvent.js
+++ b/
0.6.x/js/02_dom/03_XDomEvent.js
@@
-42,7
+42,7
@@
if( !X_UA[ 'IE' ] || 9 <= X_UA[ 'IE' ] ){
altKey, ctrlKey, metaKey, shiftKey, target, xtarget, offset, related, force,
\r
elm, i, n, time, touch, ev;
\r
\r
altKey, ctrlKey, metaKey, shiftKey, target, xtarget, offset, related, force,
\r
elm, i, n, time, touch, ev;
\r
\r
-
//this._event
= e;
\r
+
this._e
= e;
\r
this[ 'type' ] = type = X_Event_RenameTo[ originalType ] || originalType;
\r
\r
switch( type ){
\r
this[ 'type' ] = type = X_Event_RenameTo[ originalType ] || originalType;
\r
\r
switch( type ){
\r
diff --git
a/0.6.x/js/02_dom/10_XNodeAnime.js
b/0.6.x/js/02_dom/10_XNodeAnime.js
index
8ae688e
..
2c877f2
100644
(file)
--- a/
0.6.x/js/02_dom/10_XNodeAnime.js
+++ b/
0.6.x/js/02_dom/10_XNodeAnime.js
@@
-12,7
+12,8
@@
var X_NodeAnime_QUEUE = [],
/* Opera mobile で translateZ(0) が有効だと XY が 0 0 になる */
\r
/* GPUレイヤーにいる間に要素のコンテンツを変更をすると transitionend が動かなくなるっぽい Mac safari と firefox */
\r
X_NodeAnime_translateZ = X_Node_CSS_VENDER_PREFIX[ 'perspective' ] &&
\r
/* Opera mobile で translateZ(0) が有効だと XY が 0 0 になる */
\r
/* GPUレイヤーにいる間に要素のコンテンツを変更をすると transitionend が動かなくなるっぽい Mac safari と firefox */
\r
X_NodeAnime_translateZ = X_Node_CSS_VENDER_PREFIX[ 'perspective' ] &&
\r
- !X_UA[ 'OperaMobile' ] && !X_UA[ 'OperaTablet' ] ? ' translateZ(0)' : '',
\r
+ !X_UA[ 'OperaMobile' ] && !X_UA[ 'OperaTablet' ] &&
\r
+ !( X_UA[ 'IE' ] === 11 ) && !( X_UA[ 'IEHost' ] === 11 ) ? ' translateZ(0)' : '',
\r
\r
/*
\r
* phase:
\r
\r
/*
\r
* phase:
\r
@@
-521,7
+522,7
@@
function X_NodeAnime_updatePosition( xnode, obj, ratio, useGPU ){
\r
//console.log( 'updatePosition x:' + x + ' gpu:' + !!useGPU );
\r
if( obj.transform ){
\r
\r
//console.log( 'updatePosition x:' + x + ' gpu:' + !!useGPU );
\r
if( obj.transform ){
\r
- if(
x === x || y === y
) str += ' translate(' + ( x | 0 ) + 'px,' + ( y | 0 ) + 'px)';
\r
+ if(
( x === x || y === y ) && ( x !== 0 && y !== 0 )
) str += ' translate(' + ( x | 0 ) + 'px,' + ( y | 0 ) + 'px)';
\r
if( rotate < 0 || 0 < rotate ) str += ' rotate(' + rotate + 'deg)'; // opera は rad?
\r
if( skewX < 0 || 0 < skewX ) str += ' skewX(' + skewX + 'deg)';
\r
if( skewY < 0 || 0 < skewY ) str += ' skewY(' + skewY + 'deg)';
\r
if( rotate < 0 || 0 < rotate ) str += ' rotate(' + rotate + 'deg)'; // opera は rad?
\r
if( skewX < 0 || 0 < skewX ) str += ' skewX(' + skewX + 'deg)';
\r
if( skewY < 0 || 0 < skewY ) str += ' skewY(' + skewY + 'deg)';
\r
diff --git
a/0.6.x/js/06_net/04_XNetImage.js
b/0.6.x/js/06_net/04_XNetImage.js
index
3bcc3b8
..
9611900
100644
(file)
--- a/
0.6.x/js/06_net/04_XNetImage.js
+++ b/
0.6.x/js/06_net/04_XNetImage.js
@@
-11,7
+11,7
@@
var X_ImgLoader_image = window[ 'Image' ] && new Image(),
X_ImgLoader_isElement = !( X_UA[ 'IE' ] < 9 ) && X_Type_isHTMLElement( X_ImgLoader_image ),
\r
// http://uupaa.hatenablog.com/entry/2013/12/17/171809
\r
// お手軽に画像の読み込みをハンドリングする、今どきな方法
\r
X_ImgLoader_isElement = !( X_UA[ 'IE' ] < 9 ) && X_Type_isHTMLElement( X_ImgLoader_image ),
\r
// http://uupaa.hatenablog.com/entry/2013/12/17/171809
\r
// お手軽に画像の読み込みをハンドリングする、今どきな方法
\r
- X_ImgLoader_0forError = !X_UA[ 'IE' ] || X_UA[ 'IE' ] === 11;
\r
+ X_ImgLoader_0forError = !X_UA[ 'IE' ] || X_UA[ 'IE' ] === 11
|| X_UA[ 'IEHost' ] === 11
;
\r
\r
/*
\r
* TODO
\r
\r
/*
\r
* TODO
\r
@@
-64,15
+64,17
@@
X_TEMP.X_ImgLoader_params = {
},
\r
\r
reset : function(){
\r
},
\r
\r
reset : function(){
\r
-
console.log( '
X.Net.Image:reset ' + this.abspath + ' timerID:' + this.timerID );
\r
+
//console.log( '/
X.Net.Image:reset ' + this.abspath + ' timerID:' + this.timerID );
\r
\r
this.timerID && X_Timer_remove( this.timerID );
\r
this.timerID = 0;
\r
\r
\r
this.timerID && X_Timer_remove( this.timerID );
\r
this.timerID = 0;
\r
\r
+ this.finish = false;
\r
+ this.abspath = '';
\r
//X_ImgLoader_isElement ? this[ '_rawObject' ].removeAttribute( 'src' ) : ( this[ '_rawObject' ].src = '' );
\r
this[ '_rawObject' ].src = '';
\r
//X_ImgLoader_isElement ? this[ '_rawObject' ].removeAttribute( 'src' ) : ( this[ '_rawObject' ].src = '' );
\r
this[ '_rawObject' ].src = '';
\r
- this.finish = false;
\r
-
this.abspath = ''
;
\r
+
\r
+
//console.log( '\ X.Net.Image:reset ----------- *' )
;
\r
}
\r
};
\r
\r
}
\r
};
\r
\r
@@
-83,14
+85,16
@@
function X_ImgLoader_detect(){
\r
if( raw && raw.complete ){
\r
this.finish = true;
\r
\r
if( raw && raw.complete ){
\r
this.finish = true;
\r
- console.log( 'X.Net.Image:detect ' + raw.width );
\r
+
//
console.log( 'X.Net.Image:detect ' + raw.width );
\r
if( raw.width ) return;
\r
X_Timer_remove( this.timerID );
\r
if( raw.width ) return;
\r
X_Timer_remove( this.timerID );
\r
+ //console.log( '* X.Net.Image:ERROR @detect(1) ' + this.abspath );
\r
this.timerID = this[ 'asyncDispatch' ]( X_EVENT_ERROR );
\r
} else
\r
if( this.timeout < ( this.tick += this.delay ) ){
\r
this.finish = true;
\r
X_Timer_remove( this.timerID );
\r
this.timerID = this[ 'asyncDispatch' ]( X_EVENT_ERROR );
\r
} else
\r
if( this.timeout < ( this.tick += this.delay ) ){
\r
this.finish = true;
\r
X_Timer_remove( this.timerID );
\r
+ //console.log( '* X.Net.Image:ERROR @detect(2) ' + this.abspath );
\r
this.timerID = this[ 'asyncDispatch' ]( { type : X_EVENT_ERROR, 'timeout' : true } );
\r
};
\r
};
\r
this.timerID = this[ 'asyncDispatch' ]( { type : X_EVENT_ERROR, 'timeout' : true } );
\r
};
\r
};
\r
@@
-100,17
+104,18
@@
function X_ImgLoader_handleEvent( e ){
\r
// IE11 reset() 時にここに入ってくる...
\r
if( !this.abspath ) return;
\r
\r
// IE11 reset() 時にここに入ってくる...
\r
if( !this.abspath ) return;
\r
- console.log( 'X.Net.Image:handleEvent ' + e.type );
\r
+
//
console.log( 'X.Net.Image:handleEvent ' + e.type );
\r
\r
switch( e.type ){
\r
case 'error' :
\r
\r
switch( e.type ){
\r
case 'error' :
\r
- //case 'abort' : // TODO ??
\r
// ie11(10,9 開発モード)で mineType 不正の場合、画像取得に成功してもエラーイベントが起こるのを無視する。
\r
if( X_ImgLoader_0forError && raw.width ) return;
\r
if( this.finish ) return;
\r
this.finish = true;
\r
this.timerID && X_Timer_remove( this.timerID );
\r
// ie11(10,9 開発モード)で mineType 不正の場合、画像取得に成功してもエラーイベントが起こるのを無視する。
\r
if( X_ImgLoader_0forError && raw.width ) return;
\r
if( this.finish ) return;
\r
this.finish = true;
\r
this.timerID && X_Timer_remove( this.timerID );
\r
- this.timerID = this[ 'asyncDispatch' ]( /*e.type === 'error' ?*/ X_EVENT_ERROR /*: X_EVENT_CANCELED*/ );
\r
+ //console.log( '* X.Net.Image:ERROR @handle ' + this.abspath + X.Timer.now() );
\r
+ //console.dir( raw );
\r
+ this.timerID = this[ 'asyncDispatch' ]( this.timeout, X_EVENT_ERROR );
\r
break;
\r
\r
case 'load' :
\r
break;
\r
\r
case 'load' :
\r
@@
-123,6
+128,9
@@
function X_ImgLoader_handleEvent( e ){
return;
\r
};
\r
\r
return;
\r
};
\r
\r
+ //console.log( '* X.Net.Image:LOAD @handle ' + this.abspath + X.Timer.now() );
\r
+ //console.dir( raw );
\r
+
\r
size = X_Util_Image_getActualDimension( !X_ImgLoader_isElement ? this.abspath : this );
\r
this.timerID = this[ 'asyncDispatch' ]( {
\r
'type' : X_EVENT_SUCCESS,
\r
size = X_Util_Image_getActualDimension( !X_ImgLoader_isElement ? this.abspath : this );
\r
this.timerID = this[ 'asyncDispatch' ]( {
\r
'type' : X_EVENT_SUCCESS,
\r
diff --git
a/0.6.x/js/11_hid/01_KB.js
b/0.6.x/js/11_hid/01_KB.js
index
83e0bfb
..
9d9646e
100644
(file)
--- a/
0.6.x/js/11_hid/01_KB.js
+++ b/
0.6.x/js/11_hid/01_KB.js
@@
-92,7
+92,7
@@
var X_KB_SPECIALS = eval( // IE5- 対策
\r
case 'keypress' :
\r
// keydown 側で発火しているものは再び発火しない
\r
\r
case 'keypress' :
\r
// keydown 側で発火しているものは再び発火しない
\r
- console.log( 'keypress : chrCode:' + chrCode + ' down:' + X_KB_DOWN_KEYS[ chrCode ] + ( X_KB_CANCELED[ chrCode ] ? ' Cancel!' : '' ) );
\r
+
\r
if( X_KB_DOWN_KEYS[ chrCode ] ){
\r
return X_KB_CANCELED[ chrCode ] ? X_CALLBACK_PREVENT_DEFAULT : cb;
\r
} else
\r
if( X_KB_DOWN_KEYS[ chrCode ] ){
\r
return X_KB_CANCELED[ chrCode ] ? X_CALLBACK_PREVENT_DEFAULT : cb;
\r
} else
\r
@@
-114,7
+114,9
@@
var X_KB_SPECIALS = eval( // IE5- 対策
metaKey : !!X_KB_DOWN_KEYS[ 224 ]
\r
} );
\r
\r
metaKey : !!X_KB_DOWN_KEYS[ 224 ]
\r
} );
\r
\r
- X_KB_lastIs10Key = true;
\r
+ X_KB_lastIs10Key = false;
\r
+
\r
+ console.log( X_KB_lastKeyCode + 'keypress : chrCode:' + chrCode + ' down:' + X_KB_DOWN_KEYS[ chrCode ] + ( X_KB_CANCELED[ chrCode ] ? ' Cancel!' : '' ) );
\r
};
\r
return cb;
\r
\r
};
\r
return cb;
\r
\r
@@
-141,14
+143,21
@@
var X_KB_SPECIALS = eval( // IE5- 対策
if( X_KB_DOWN_KEYS[ keyCode ] ) delete X_KB_DOWN_KEYS[ keyCode ];
\r
if( X_KB_CANCELED[ keyCode ] ) delete X_KB_CANCELED[ keyCode ];
\r
\r
if( X_KB_DOWN_KEYS[ keyCode ] ) delete X_KB_DOWN_KEYS[ keyCode ];
\r
if( X_KB_CANCELED[ keyCode ] ) delete X_KB_CANCELED[ keyCode ];
\r
\r
- chrCode = 0;
\r
+
\r
if( !special ){
\r
// keyCode から charCode を復帰する
\r
chrCode = X_KB_TRANSFOEM[ keyCode ];
\r
if( !chrCode ) return cb;
\r
delete X_KB_TRANSFOEM[ keyCode ];
\r
if( !special ){
\r
// keyCode から charCode を復帰する
\r
chrCode = X_KB_TRANSFOEM[ keyCode ];
\r
if( !chrCode ) return cb;
\r
delete X_KB_TRANSFOEM[ keyCode ];
\r
+ } else
\r
+ if( 42 <= special ){
\r
+ chrCode = special; // ie8で必要... Firefox でもテンキーの+-*/ で必要...
\r
+ } else {
\r
+ chrCode = 0;
\r
};
\r
};
\r
-
\r
+
\r
+ console.log( keyCode + ' keyup ' + chrCode );
\r
+
\r
cb |= this[ 'dispatch' ]( {
\r
type : 'keyup',
\r
keyCode : keyCode,
\r
cb |= this[ 'dispatch' ]( {
\r
type : 'keyup',
\r
keyCode : keyCode,
\r
@@
-159,7
+168,7
@@
var X_KB_SPECIALS = eval( // IE5- 対策
altKey : X_KB_DOWN_KEYS[ 18 ],
\r
metaKey : X_KB_DOWN_KEYS[ 224 ]
\r
} );
\r
altKey : X_KB_DOWN_KEYS[ 18 ],
\r
metaKey : X_KB_DOWN_KEYS[ 224 ]
\r
} );
\r
-
\r
+
\r
return cb;
\r
\r
case X_EVENT_VIEW_ACTIVATE :
\r
return cb;
\r
\r
case X_EVENT_VIEW_ACTIVATE :
\r