@@ -1610,6 +1610,7 @@ var _initSys = function () {
1610
1610
sys . BROWSER_TYPE_WECHAT = "wechat" ;
1611
1611
sys . BROWSER_TYPE_ANDROID = "androidbrowser" ;
1612
1612
sys . BROWSER_TYPE_IE = "ie" ;
1613
+ sys . BROWSER_TYPE_QQ_APP = "qq" ; // QQ App
1613
1614
sys . BROWSER_TYPE_QQ = "qqbrowser" ;
1614
1615
sys . BROWSER_TYPE_MOBILE_QQ = "mqqbrowser" ;
1615
1616
sys . BROWSER_TYPE_UC = "ucbrowser" ;
@@ -1727,13 +1728,13 @@ var _initSys = function () {
1727
1728
/* Determine the browser type */
1728
1729
( function ( ) {
1729
1730
var typeReg1 = / m i c r o m e s s e n g e r | m q q b r o w s e r | s o g o u | q z o n e | l i e b a o | u c b r o w s e r | 3 6 0 a p h o n e | 3 6 0 b r o w s e r | b a i d u b o x a p p | b a i d u b r o w s e r | m a x t h o n | m x b r o w s e r | t r i d e n t | m i u i b r o w s e r / i;
1730
- var typeReg2 = / q q b r o w s e r | c h r o m e | s a f a r i | f i r e f o x | o p r | o u p e n g | o p e r a / i;
1731
+ var typeReg2 = / q q b r o w s e r | q q | c h r o m e | s a f a r i | f i r e f o x | o p r | o u p e n g | o p e r a / i;
1731
1732
var browserTypes = typeReg1 . exec ( ua ) ;
1732
1733
if ( ! browserTypes ) browserTypes = typeReg2 . exec ( ua ) ;
1733
1734
var browserType = browserTypes ? browserTypes [ 0 ] : sys . BROWSER_TYPE_UNKNOWN ;
1734
1735
if ( browserType === 'micromessenger' )
1735
1736
browserType = sys . BROWSER_TYPE_WECHAT ;
1736
- else if ( browserType === "safari" && ( ua . match ( / a n d r o i d . * a p p l e w e b k i t / ) ) )
1737
+ else if ( browserType === "safari" && isAndroid )
1737
1738
browserType = sys . BROWSER_TYPE_ANDROID ;
1738
1739
else if ( browserType === "trident" )
1739
1740
browserType = sys . BROWSER_TYPE_IE ;
@@ -2707,7 +2708,7 @@ cc.game = /** @lends cc.game# */{
2707
2708
} ,
2708
2709
2709
2710
_initEvents : function ( ) {
2710
- var win = window , self = this , hidden , visibilityChange , _undef = "undefined" ;
2711
+ var win = window , hidden ;
2711
2712
2712
2713
this . _eventHide = this . _eventHide || new cc . EventCustom ( this . EVENT_HIDE ) ;
2713
2714
this . _eventHide . setUserData ( this ) ;
@@ -2720,18 +2721,21 @@ cc.game = /** @lends cc.game# */{
2720
2721
2721
2722
if ( ! cc . isUndefined ( document . hidden ) ) {
2722
2723
hidden = "hidden" ;
2723
- visibilityChange = "visibilitychange" ;
2724
2724
} else if ( ! cc . isUndefined ( document . mozHidden ) ) {
2725
2725
hidden = "mozHidden" ;
2726
- visibilityChange = "mozvisibilitychange" ;
2727
2726
} else if ( ! cc . isUndefined ( document . msHidden ) ) {
2728
2727
hidden = "msHidden" ;
2729
- visibilityChange = "msvisibilitychange" ;
2730
2728
} else if ( ! cc . isUndefined ( document . webkitHidden ) ) {
2731
2729
hidden = "webkitHidden" ;
2732
- visibilityChange = "webkitvisibilitychange" ;
2733
2730
}
2734
2731
2732
+ var changeList = [
2733
+ "visibilitychange" ,
2734
+ "mozvisibilitychange" ,
2735
+ "msvisibilitychange" ,
2736
+ "webkitvisibilitychange" ,
2737
+ "qbrowserVisibilityChange"
2738
+ ] ;
2735
2739
var onHidden = function ( ) {
2736
2740
if ( cc . eventManager && cc . game . _eventHide )
2737
2741
cc . eventManager . dispatchEvent ( cc . game . _eventHide ) ;
@@ -2742,10 +2746,15 @@ cc.game = /** @lends cc.game# */{
2742
2746
} ;
2743
2747
2744
2748
if ( hidden ) {
2745
- document . addEventListener ( visibilityChange , function ( ) {
2746
- if ( document [ hidden ] ) onHidden ( ) ;
2747
- else onShow ( ) ;
2748
- } , false ) ;
2749
+ for ( var i = 0 ; i < changeList . length ; i ++ ) {
2750
+ document . addEventListener ( changeList [ i ] , function ( event ) {
2751
+ var visible = document [ hidden ] ;
2752
+ // QQ App
2753
+ visible = visible || event [ "hidden" ] ;
2754
+ if ( visible ) onHidden ( ) ;
2755
+ else onShow ( ) ;
2756
+ } , false ) ;
2757
+ }
2749
2758
} else {
2750
2759
win . addEventListener ( "blur" , onHidden , false ) ;
2751
2760
win . addEventListener ( "focus" , onShow , false ) ;
0 commit comments