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:
04ac203
)
Version 0.6.215, bug fixes X.Net.Image & X.HTMLAudio.
author
itozyun
<itozyun@user.sourceforge.jp>
Wed, 9 Mar 2016 00:59:26 +0000
(09:59 +0900)
committer
itozyun
<itozyun@user.sourceforge.jp>
Wed, 9 Mar 2016 00:59:26 +0000
(09:59 +0900)
0.6.x/js/01_core/07_XString.js
patch
|
blob
|
history
0.6.x/js/01_core/13_XClass.js
patch
|
blob
|
history
0.6.x/js/02_dom/06_XNodeCSS.js
patch
|
blob
|
history
0.6.x/js/02_dom/20_XNode.js
patch
|
blob
|
history
0.6.x/js/06_net/04_XNetImage.js
patch
|
blob
|
history
0.6.x/js/07_audio/02_XHTMLAudio.js
patch
|
blob
|
history
diff --git
a/0.6.x/js/01_core/07_XString.js
b/0.6.x/js/01_core/07_XString.js
index
788654d
..
530bd9b
100644
(file)
--- a/
0.6.x/js/01_core/07_XString.js
+++ b/
0.6.x/js/01_core/07_XString.js
@@
-158,7
+158,7
@@
function X_String_whiteSpaceToTag( text ){
* @return {string} html文字列
\r
*/
\r
function X_String_chrReferanceTo( str ){
\r
* @return {string} html文字列
\r
*/
\r
function X_String_chrReferanceTo( str ){
\r
- var refs, i, l, ref;
\r
+ var refs, i, l, ref
, k
;
\r
\r
if( str == null || str === '' ) return '';
\r
if( str.indexOf( '&' ) === -1 ) return str;
\r
\r
if( str == null || str === '' ) return '';
\r
if( str.indexOf( '&' ) === -1 ) return str;
\r
diff --git
a/0.6.x/js/01_core/13_XClass.js
b/0.6.x/js/01_core/13_XClass.js
index
a0b15cc
..
24ed3eb
100644
(file)
--- a/
0.6.x/js/01_core/13_XClass.js
+++ b/
0.6.x/js/01_core/13_XClass.js
@@
-15,7
+15,7
@@
var
* クラス名
\r
* @type {string}
\r
*/
\r
* クラス名
\r
* @type {string}
\r
*/
\r
-
name
: ''
\r
+
NAME
: ''
\r
},
\r
\r
X_Class_CLASS_LIST = [],
\r
},
\r
\r
X_Class_CLASS_LIST = [],
\r
@@
-481,7
+481,7
@@
X[ 'Class' ] = /** @lends X.Class */ {
klass.prototype.constructor = klass;
\r
};
\r
\r
klass.prototype.constructor = klass;
\r
};
\r
\r
- klass[ '
name
' ] = displayName;
\r
+ klass[ '
NAME
' ] = displayName;
\r
\r
if( opt_abstract ){
\r
classDef.isAbstract = true;
\r
\r
if( opt_abstract ){
\r
classDef.isAbstract = true;
\r
diff --git
a/0.6.x/js/02_dom/06_XNodeCSS.js
b/0.6.x/js/02_dom/06_XNodeCSS.js
index
3719b43
..
77bb067
100644
(file)
--- a/
0.6.x/js/02_dom/06_XNodeCSS.js
+++ b/
0.6.x/js/02_dom/06_XNodeCSS.js
@@
-277,9
+277,10
@@
function X_Node_CSS_objToCssText( that, skipFilter ){
};
if( filterFix ){
};
if( filterFix ){
- v = X_Node_CSS_objToIEFilterText( that, filterFix /* , css */ );
+ v = X_Node_CSS_objToIEFilterText( that, filterFix, css );
+ n = css.length; /* css が変更されている場合あり */
if( v ){
if( v ){
- css[ ++n
/* css.length */
] = 'filter:' + v;
+ css[ ++n ] = 'filter:' + v;
};
skipFilter = skipFilter && v;
} else {
};
skipFilter = skipFilter && v;
} else {
@@
-289,6
+290,7
@@
function X_Node_CSS_objToCssText( that, skipFilter ){
if( 0 <= n ){
// cssText には完全なものを控えるが、戻すのは filter を抜いたもの
that[ '_cssText' ] = css.join( ';' );
if( 0 <= n ){
// cssText には完全なものを控えるが、戻すのは filter を抜いたもの
that[ '_cssText' ] = css.join( ';' );
+ //console.log( that[ '_cssText' ] );
if( skipFilter ){
--css.length;
return css.join( ';' );
if( skipFilter ){
--css.length;
return css.join( ';' );
@@
-334,9
+336,10
@@
function X_Node_CSS_objToIEFilterText( that, opt_css, opt_cssList ){
filters[ ++n ] = v;
break;
case 2 : //'opacity' :
filters[ ++n ] = v;
break;
case 2 : //'opacity' :
- //if( v === 0 ){
- // opt_cssList && ( opt_cssList[ opt_cssList.length ] = 'visibility:hidden' );
- //} else
+ if( v === 0 ){
+ console.log( '@opacity:0 ' + !!opt_cssList );
+ opt_cssList && ( opt_cssList[ opt_cssList.length ] = 'visibility:hidden' );
+ } else
if( v < 1 ) filters[ ++n ] = 'alpha(opacity=' + ( v * 100 | 0 ) +')';
break;
case 3 : //'boxShadow' :
if( v < 1 ) filters[ ++n ] = 'alpha(opacity=' + ( v * 100 | 0 ) +')';
break;
case 3 : //'boxShadow' :
@@
-422,7
+425,7
@@
function X_Node_CSS_objToIEFilterText( that, opt_css, opt_cssList ){
break;
};
};
break;
};
};
- return filters.join( ' ' );
+ return filters.join( ' ' );
//n !== -1 ? filters.join( ' ' ) : '';
};
};
diff --git
a/0.6.x/js/02_dom/20_XNode.js
b/0.6.x/js/02_dom/20_XNode.js
index
db671a1
..
0a0adf7
100644
(file)
--- a/
0.6.x/js/02_dom/20_XNode.js
+++ b/
0.6.x/js/02_dom/20_XNode.js
@@
-291,7
+291,7
@@
var Node = X[ 'Node' ] = X_EventDispatcher[ 'inherits' ](
'toggleClass' : X_Node_toggleClass,
'hasClass' : X_Node_hasClass,
'toggleClass' : X_Node_toggleClass,
'hasClass' : X_Node_hasClass,
- 'html' : X_Node_html,
+ 'html' : X_Node_
_
html,
'text' : X_Node_text,
'call' : X_Node_call,
'each' : X_Node_each
'text' : X_Node_text,
'call' : X_Node_call,
'each' : X_Node_each
@@
-1114,7
+1114,7
@@
function X_Node_hasClass( v ){
* @return {string|Node}
* @example node.html( '<img>' );
*/
* @return {string|Node}
* @example node.html( '<img>' );
*/
-function X_Node_html( html ){
+function X_Node_
_
html( html ){
var _ = '', q = '"', xnodes, n, i, l;
// setter
if( html !== undefined ){ // String 以外に Number や false null なども許可
var _ = '', q = '"', xnodes, n, i, l;
// setter
if( html !== undefined ){ // String 以外に Number や false null なども許可
@@
-1419,7
+1419,7
@@
function X_Node_startUpdate( time ){
removal.length = 0;
};
removal.length = 0;
};
-
+ //
X_UA[ 'IE5' ] && ( X_elmBody.style.visibility = 'hidden' );
if( X_Node_html[ '_flags' ] & X_Node_BitMask_IS_DIRTY ){
X_UA[ 'IE5' ] && ( X_elmBody.style.visibility = 'hidden' );
if( X_Node_html[ '_flags' ] & X_Node_BitMask_IS_DIRTY ){
@@
-1816,7
+1816,7
@@
var X_Node__updateRawNode =
elm.setAttribute( 'class', that[ '_className' ] ) :
( elm.className = that[ '_className' ] )
) :
elm.setAttribute( 'class', that[ '_className' ] ) :
( elm.className = that[ '_className' ] )
) :
- ( elm.className && elm.removeAttribute( X_UA[ 'IE' ] < 8 ? 'className' : 'class' ) ); // className は ie7-
+ ( elm.className && elm.removeAttribute( X_UA[ 'IE' ] < 8 ? 'className' : 'class' ) ); // className は ie7-
};
// attr
};
// attr
diff --git
a/0.6.x/js/06_net/04_XNetImage.js
b/0.6.x/js/06_net/04_XNetImage.js
index
9611900
..
e93c46b
100644
(file)
--- a/
0.6.x/js/06_net/04_XNetImage.js
+++ b/
0.6.x/js/06_net/04_XNetImage.js
@@
-67,7
+67,7
@@
X_TEMP.X_ImgLoader_params = {
//console.log( '/ X.Net.Image:reset ' + this.abspath + ' timerID:' + this.timerID );
\r
\r
this.timerID && X_Timer_remove( 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
+ this.timerID =
this.tick =
0;
\r
\r
this.finish = false;
\r
this.abspath = '';
\r
\r
this.finish = false;
\r
this.abspath = '';
\r
@@
-111,7
+111,7
@@
function X_ImgLoader_handleEvent( e ){
// ie11(10,9 開発モード)で mineType 不正の場合、画像取得に成功してもエラーイベントが起こるのを無視する。
\r
if( X_ImgLoader_0forError && raw.width ) return;
\r
if( this.finish ) return;
\r
// ie11(10,9 開発モード)で mineType 不正の場合、画像取得に成功してもエラーイベントが起こるのを無視する。
\r
if( X_ImgLoader_0forError && raw.width ) return;
\r
if( this.finish ) return;
\r
- this.finish
= true;
\r
+ this.finish = true;
\r
this.timerID && X_Timer_remove( this.timerID );
\r
//console.log( '* X.Net.Image:ERROR @handle ' + this.abspath + X.Timer.now() );
\r
//console.dir( raw );
\r
this.timerID && X_Timer_remove( this.timerID );
\r
//console.log( '* X.Net.Image:ERROR @handle ' + this.abspath + X.Timer.now() );
\r
//console.dir( raw );
\r
diff --git
a/0.6.x/js/07_audio/02_XHTMLAudio.js
b/0.6.x/js/07_audio/02_XHTMLAudio.js
index
b5abcd2
..
ca59f5f
100644
(file)
--- a/
0.6.x/js/07_audio/02_XHTMLAudio.js
+++ b/
0.6.x/js/07_audio/02_XHTMLAudio.js
@@
-54,6
+54,8
@@
var
\r
// Opera Mobile 12 は 2回目以降の currentTime へのセットで currentTime が更新されなくなるため、タイマーを使用する
\r
X_HTMLAudio_currentTimeFix = !!X_UA[ 'OperaMobile' ] || !!X_UA[ 'OperaTablet' ],
\r
\r
// Opera Mobile 12 は 2回目以降の currentTime へのセットで currentTime が更新されなくなるため、タイマーを使用する
\r
X_HTMLAudio_currentTimeFix = !!X_UA[ 'OperaMobile' ] || !!X_UA[ 'OperaTablet' ],
\r
+ // Firefox44.0.2 で音声の再生開始に難あり...
\r
+ X_HTMLAudio_playStartFix = X_UA[ 'Windows' ] && X_UA[ 'Gecko' ] === 44,
\r
\r
X_HTMLAudio_volumeFix = X_UA[ 'Chrome' ],
\r
/*
\r
\r
X_HTMLAudio_volumeFix = X_UA[ 'Chrome' ],
\r
/*
\r
@@
-107,7
+109,7
@@
if( X_Audio_constructor ){
// 8:duration 取得済
\r
// :timeupdate イベントで durationFixは完了
\r
_durationFixPhase : X_HTMLAudio_durationFix ? 1 : 0,
\r
// 8:duration 取得済
\r
// :timeupdate イベントで durationFixは完了
\r
_durationFixPhase : X_HTMLAudio_durationFix ? 1 : 0,
\r
- _lastCurrentTime : 0,
\r
+ _lastCurrentTime : 0,
// ms
\r
\r
_shortPlayFixON : false,
\r
_shortPlayFixTime : 0,
\r
\r
_shortPlayFixON : false,
\r
_shortPlayFixTime : 0,
\r
@@
-203,7
+205,7
@@
if( X_Audio_constructor ){
\r
if( !raw ) return;
\r
\r
\r
if( !raw ) return;
\r
\r
- //e.type !== 'timeupdate' && console.log( ' > ' + e.type );
\r
+ //
e.type !== 'timeupdate' && console.log( ' > ' + e.type );
\r
\r
switch( e.type ){
\r
\r
\r
switch( e.type ){
\r
\r
@@
-278,11
+280,18
@@
if( X_Audio_constructor ){
if( ( now = this.getActualCurrentTime() ) === this._lastCurrentTime ){
\r
eventType = X_EVENT_MEDIA_WAITING;
\r
} else
\r
if( ( now = this.getActualCurrentTime() ) === this._lastCurrentTime ){
\r
eventType = X_EVENT_MEDIA_WAITING;
\r
} else
\r
+ if( X_HTMLAudio_playStartFix && ( now < this._lastCurrentTime ) ){
\r
+ eventType = X_EVENT_MEDIA_WAITING;
\r
+ //console.log( '@Firefox44.0.2 !! ' + now + ' / ' + this._lastCurrentTime );
\r
+ // Firefox44.0.2 で音声の再生開始に難あり...
\r
+ // 20回程度 currentTime の更新に失敗する....
\r
+ this.actualPlay();
\r
+ } else
\r
if( this.playing ){
\r
end = X_Audio_getEndTime( this ) + this._shortPlayFixTime;
\r
if( this.playing ){
\r
end = X_Audio_getEndTime( this ) + this._shortPlayFixTime;
\r
-
\r
-
console.log( now
+ ' / ' + end );// Firefox44.0.2 で音声の再生開始に難あり...
\r
-
\r
+
\r
+
//console.log( '@ ' + now + ' / ' + this._lastCurrentTime
+ ' / ' + end );// Firefox44.0.2 で音声の再生開始に難あり...
\r
+
\r
if( ( 0 + end <= 0 + now ) || // 0+ なぜか iem9 で必要,,,
\r
( now < this._lastCurrentTime && now < 2000 ) ){
\r
//( ( X_HTMLAudio_endedFixAOSP2 || X_HTMLAudio_endedFixAOSP4 ) && ( now < this._lastCurrentTime && now < 1000 ) ) ){
\r
if( ( 0 + end <= 0 + now ) || // 0+ なぜか iem9 で必要,,,
\r
( now < this._lastCurrentTime && now < 2000 ) ){
\r
//( ( X_HTMLAudio_endedFixAOSP2 || X_HTMLAudio_endedFixAOSP4 ) && ( now < this._lastCurrentTime && now < 1000 ) ) ){
\r
@@
-438,7
+447,7
@@
if( X_Audio_constructor ){
end = X_Audio_getEndTime( this );
\r
begin = X_Audio_getStartTime( this, end, true );
\r
\r
end = X_Audio_getEndTime( this );
\r
begin = X_Audio_getStartTime( this, end, true );
\r
\r
- this._lastCurrentTime = begin
/ 1000
;
\r
+ this._lastCurrentTime = begin;
\r
\r
if( this._shortPlayFixON ){
\r
this._shortPlayFixTime = ( 1000 < end - begin ) ? 200 : 400;
\r
\r
if( this._shortPlayFixON ){
\r
this._shortPlayFixTime = ( 1000 < end - begin ) ? 200 : 400;
\r
@@
-469,7
+478,7
@@
if( X_Audio_constructor ){
\r
// iOS で duration が 0 の時に触ると error
\r
// 0 or 8
\r
\r
// iOS で duration が 0 の時に触ると error
\r
// 0 or 8
\r
- if( !( this._durationFixPhase % 8 ) && this.duration ) raw.currentTime = this._lastCurrentTime;
\r
+ if( !( this._durationFixPhase % 8 ) && this.duration ) raw.currentTime = this._lastCurrentTime
/ 1000
;
\r
\r
console.log( '[HTMLAudio] play ' + begin + ' -> ' + end + ' crt:' + ( raw.currentTime | 0 ) + ' last:' + this._lastCurrentTime );
\r
\r
\r
console.log( '[HTMLAudio] play ' + begin + ' -> ' + end + ' crt:' + ( raw.currentTime | 0 ) + ' last:' + this._lastCurrentTime );
\r
\r
@@
-509,7
+518,7
@@
if( X_Audio_constructor ){
getActualCurrentTime : function(){
\r
return ( X_HTMLAudio_currentTimeFix ?
\r
X_Timer_now() - this._currentFixStart + this._currentFixBegin :
\r
getActualCurrentTime : function(){
\r
return ( X_HTMLAudio_currentTimeFix ?
\r
X_Timer_now() - this._currentFixStart + this._currentFixBegin :
\r
- this._seekingFixON ? this._lastCurrentTime
* 1000
:
\r
+ this._seekingFixON ? this._lastCurrentTime :
\r
this[ '_rawObject' ].currentTime * 1000 | 0 );
\r
},
\r
/*
\r
this[ '_rawObject' ].currentTime * 1000 | 0 );
\r
},
\r
/*
\r