@@ -210,6 +210,9 @@ ClazzLoader.isOpera = (ClazzLoader.userAgent.indexOf ("opera") != -1);
210
210
ClazzLoader . isIE = ( ClazzLoader . userAgent . indexOf ( "msie" ) != - 1 ) && ! ClazzLoader . isOpera ;
211
211
ClazzLoader . isGecko = ( ClazzLoader . userAgent . indexOf ( "gecko" ) != - 1 ) ;
212
212
ClazzLoader . isChrome = ( ClazzLoader . userAgent . indexOf ( "chrome" ) != - 1 ) ;
213
+ ClazzLoader . isSafari = ( ClazzLoader . userAgent . indexOf ( "safari" ) != - 1 ) ;
214
+ ClazzLoader . isMobileSafari = ( ClazzLoader . isSafari && ClazzLoader . userAgent . indexOf ( "mobile" ) != - 1 ) ;
215
+ ClazzLoader . randomlyReload = ClazzLoader . isSafari ;
213
216
214
217
/*
215
218
* Opera has different loading order which will result in performance degrade!
@@ -1179,7 +1182,7 @@ ClazzLoader.loadScript = function (file) {
1179
1182
// Create script DOM element
1180
1183
var script = document . createElement ( "SCRIPT" ) ;
1181
1184
script . type = "text/javascript" ;
1182
- if ( ClazzLoader . isChrome && ClazzLoader . reloadingClasses [ file ] ) {
1185
+ if ( ClazzLoader . randomlyReload && ClazzLoader . reloadingClasses [ file ] ) {
1183
1186
script . src = file + "?" + Math . floor ( 100000 * Math . random ( ) ) ;
1184
1187
} else {
1185
1188
script . src = file ;
@@ -2823,7 +2826,7 @@ ClazzLoader.lastHotspotUpdated = new Date ().getTime ();
2823
2826
ClazzLoader . lastHotspotSessionID = 0 ;
2824
2827
2825
2828
/* Google Chrome need to load *.js using url + "?" + random number */
2826
- if ( ClazzLoader . isChrome ) {
2829
+ if ( ClazzLoader . randomlyReload ) {
2827
2830
ClazzLoader . reloadingClasses = new Object ( ) ;
2828
2831
}
2829
2832
@@ -2874,15 +2877,15 @@ ClazzLoader.updateHotspot = function () {
2874
2877
for ( var i = 0 ; i < toUpdateClasses . length ; i ++ ) {
2875
2878
if ( needUpdateClasses [ i ] ) {
2876
2879
var clzz = toUpdateClasses [ i ] ;
2877
- if ( ClazzLoader . isChrome ) {
2880
+ if ( ClazzLoader . randomlyReload ) {
2878
2881
ClazzLoader . reloadingClasses [ ClazzLoader . getClasspathFor ( clzz ) ] = true ;
2879
2882
}
2880
2883
ClazzLoader . loadClass ( clzz , ( function ( clazz ) {
2881
2884
return function ( ) {
2882
2885
// succeeded!
2883
2886
Clazz . unloadedClasses [ clazz ] = null ;
2884
2887
ClazzLoader . classReloaded ( clazz ) ;
2885
- if ( ClazzLoader . isChrome ) {
2888
+ if ( ClazzLoader . randomlyReload ) {
2886
2889
ClazzLoader . reloadingClasses [ ClazzLoader . getClasspathFor ( clazz ) ] = false ;
2887
2890
}
2888
2891
} ;
@@ -2978,7 +2981,11 @@ ClazzLoader.hotspotMonitoring = function () {
2978
2981
if ( port == null ) {
2979
2982
port = 1725 ;
2980
2983
}
2981
- var hotspotURL = "http://127.0.0.1:" + port ;
2984
+ var host = window [ "j2s.hotspot.host" ] ;
2985
+ if ( host == null ) {
2986
+ host = "127.0.0.1" ;
2987
+ }
2988
+ var hotspotURL = "http://" + host + ":" + port ;
2982
2989
if ( ClazzLoader . lastHotspotSessionID == 0 ) {
2983
2990
hotspotURL += "/hotspot.js?" + Math . random ( ) ;
2984
2991
} else {
0 commit comments