@@ -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" ;
@@ -1735,16 +1736,6 @@ var _initSys = function () {
1735
1736
browserType = sys . BROWSER_TYPE_WECHAT ;
1736
1737
else if ( browserType === "safari" && isAndroid )
1737
1738
browserType = sys . BROWSER_TYPE_ANDROID ;
1738
- else if ( browserType === "qq" ) {
1739
- if ( iOS )
1740
- browserType = sys . BROWSER_TYPE_SAFARI ;
1741
- else if ( ua . match ( / a n d r o i d .* a p p l e w e b k i t / i) )
1742
- brwoserType = sys . BROWSER_TYPE_ANDROID ;
1743
- else if ( sys . isMobile )
1744
- browserType = sys . BROWSER_TYPE_MOBILE_QQ ;
1745
- else
1746
- browserType = sys . BROWSER_TYPE_QQ ;
1747
- }
1748
1739
else if ( browserType === "trident" )
1749
1740
browserType = sys . BROWSER_TYPE_IE ;
1750
1741
else if ( browserType === "360 aphone" )
@@ -2717,7 +2708,7 @@ cc.game = /** @lends cc.game# */{
2717
2708
} ,
2718
2709
2719
2710
_initEvents : function ( ) {
2720
- var win = window , self = this , hidden , visibilityChange , _undef = "undefined" ;
2711
+ var win = window , hidden ;
2721
2712
2722
2713
this . _eventHide = this . _eventHide || new cc . EventCustom ( this . EVENT_HIDE ) ;
2723
2714
this . _eventHide . setUserData ( this ) ;
@@ -2730,22 +2721,21 @@ cc.game = /** @lends cc.game# */{
2730
2721
2731
2722
if ( ! cc . isUndefined ( document . hidden ) ) {
2732
2723
hidden = "hidden" ;
2733
- visibilityChange = "visibilitychange" ;
2734
2724
} else if ( ! cc . isUndefined ( document . mozHidden ) ) {
2735
2725
hidden = "mozHidden" ;
2736
- visibilityChange = "mozvisibilitychange" ;
2737
2726
} else if ( ! cc . isUndefined ( document . msHidden ) ) {
2738
2727
hidden = "msHidden" ;
2739
- visibilityChange = "msvisibilitychange" ;
2740
2728
} else if ( ! cc . isUndefined ( document . webkitHidden ) ) {
2741
2729
hidden = "webkitHidden" ;
2742
- visibilityChange = "webkitvisibilitychange" ;
2743
- }
2744
-
2745
- if ( cc . sys . browserType === cc . sys . BROWSER_TYPE_QQ || cc . sys . browserType === cc . sys . BROWSER_TYPE_MOBILE_QQ ) {
2746
- visibilityChange = "qbrowserVisibilityChange"
2747
2730
}
2748
2731
2732
+ var changeList = [
2733
+ "visibilitychange" ,
2734
+ "mozvisibilitychange" ,
2735
+ "msvisibilitychange" ,
2736
+ "webkitvisibilitychange" ,
2737
+ "qbrowserVisibilityChange"
2738
+ ] ;
2749
2739
var onHidden = function ( ) {
2750
2740
if ( cc . eventManager && cc . game . _eventHide )
2751
2741
cc . eventManager . dispatchEvent ( cc . game . _eventHide ) ;
@@ -2756,10 +2746,17 @@ cc.game = /** @lends cc.game# */{
2756
2746
} ;
2757
2747
2758
2748
if ( hidden ) {
2759
- document . addEventListener ( visibilityChange , function ( ) {
2760
- if ( document [ hidden ] ) onHidden ( ) ;
2761
- else onShow ( ) ;
2762
- } , false ) ;
2749
+ for ( var i = 0 ; i < changeList . length ; i ++ ) {
2750
+ ( function ( visibilityChange ) {
2751
+ document . addEventListener ( visibilityChange , function ( event ) {
2752
+ var visible = document [ hidden ] ;
2753
+ // QQ App
2754
+ visible = visible || event [ "hidden" ] ;
2755
+ if ( visible ) onHidden ( ) ;
2756
+ else onShow ( ) ;
2757
+ } , false ) ;
2758
+ } ) ( changeList [ i ] ) ;
2759
+ }
2763
2760
} else {
2764
2761
win . addEventListener ( "blur" , onHidden , false ) ;
2765
2762
win . addEventListener ( "focus" , onShow , false ) ;
0 commit comments