| 
				
			 | 
			
			
				@@ -6,7 +6,7 @@ import { Animated, StyleSheet, ViewPropTypes, WebView } from 'react-native'; 
			 | 
		
	
		
			
			| 
				6
			 | 
			
				6
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				7
			 | 
			
				7
			 | 
			
			
				 import PropTypes from 'prop-types'; 
			 | 
		
	
		
			
			| 
				8
			 | 
			
				8
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				9
			 | 
			
				
			 | 
			
			
				-import { needChangeSource, getWidth, getScript, handleSizeUpdated, domMutationObserveScript } from './common.js'; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				9
			 | 
			
			
				+import { isScriptChanged, getSize, getWidth, getScript, handleSizeUpdated, domMutationObserveScript } from './common.js'; 
			 | 
		
	
		
			
			| 
				10
			 | 
			
				10
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				11
			 | 
			
				11
			 | 
			
			
				 export default class AutoHeightWebView extends PureComponent { 
			 | 
		
	
		
			
			| 
				12
			 | 
			
				12
			 | 
			
			
				   static propTypes = { 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -53,6 +53,7 @@ export default class AutoHeightWebView extends PureComponent { 
			 | 
		
	
		
			
			| 
				53
			 | 
			
				53
			 | 
			
			
				     const { enableAnimation, style } = props; 
			 | 
		
	
		
			
			| 
				54
			 | 
			
				54
			 | 
			
			
				     enableAnimation && (this.opacityAnimatedValue = new Animated.Value(0)); 
			 | 
		
	
		
			
			| 
				55
			 | 
			
				55
			 | 
			
			
				     this.state = { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				56
			 | 
			
			
				+      isScriptChanged: false, 
			 | 
		
	
		
			
			| 
				56
			 | 
			
				57
			 | 
			
			
				       width: getWidth(style), 
			 | 
		
	
		
			
			| 
				57
			 | 
			
				58
			 | 
			
			
				       height: style && style.height ? style.height : 0, 
			 | 
		
	
		
			
			| 
				58
			 | 
			
				59
			 | 
			
			
				       script: getScript(props, getBaseScript, getIframeBaseScript) 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -60,13 +61,10 @@ export default class AutoHeightWebView extends PureComponent { 
			 | 
		
	
		
			
			| 
				60
			 | 
			
				61
			 | 
			
			
				   } 
			 | 
		
	
		
			
			| 
				61
			 | 
			
				62
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				62
			 | 
			
				63
			 | 
			
			
				   componentWillReceiveProps(nextProps) { 
			 | 
		
	
		
			
			| 
				63
			 | 
			
				
			 | 
			
			
				-    if (nextProps.style) { 
			 | 
		
	
		
			
			| 
				64
			 | 
			
				
			 | 
			
			
				-      const { width, height } = nextProps.style; 
			 | 
		
	
		
			
			| 
				65
			 | 
			
				
			 | 
			
			
				-      width && this.setState({ width }); 
			 | 
		
	
		
			
			| 
				66
			 | 
			
				
			 | 
			
			
				-      height && this.setState({ height }); 
			 | 
		
	
		
			
			| 
				67
			 | 
			
				
			 | 
			
			
				-    } 
			 | 
		
	
		
			
			| 
				68
			 | 
			
				
			 | 
			
			
				-    this.setState({ script: getScript(nextProps, getBaseScript, getIframeBaseScript) }); 
			 | 
		
	
		
			
			| 
				69
			 | 
			
				
			 | 
			
			
				-    this.needChangeSource = needChangeSource(nextProps, this.props); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				64
			 | 
			
			
				+    const size = getSize(nextProps, this.props); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				65
			 | 
			
			
				+    size && this.setState(size);  
			 | 
		
	
		
			
			| 
				
			 | 
			
				66
			 | 
			
			
				+    this.isScriptChanged = isScriptChanged(nextProps, this.props); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				67
			 | 
			
			
				+    this.isScriptChanged && this.setState({ script: getScript(nextProps, getBaseScript, getIframeBaseScript) }); 
			 | 
		
	
		
			
			| 
				70
			 | 
			
				68
			 | 
			
			
				   } 
			 | 
		
	
		
			
			| 
				71
			 | 
			
				69
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				72
			 | 
			
				70
			 | 
			
			
				   handleNavigationStateChange = navState => { 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -121,7 +119,7 @@ export default class AutoHeightWebView extends PureComponent { 
			 | 
		
	
		
			
			| 
				121
			 | 
			
				119
			 | 
			
			
				       scrollEnabled 
			 | 
		
	
		
			
			| 
				122
			 | 
			
				120
			 | 
			
			
				     } = this.props; 
			 | 
		
	
		
			
			| 
				123
			 | 
			
				121
			 | 
			
			
				     let webViewSource = Object.assign({}, source, { baseUrl: 'web/' }); 
			 | 
		
	
		
			
			| 
				124
			 | 
			
				
			 | 
			
			
				-    if (this.needChangeSource) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				122
			 | 
			
			
				+    if (this.isScriptChanged) { 
			 | 
		
	
		
			
			| 
				125
			 | 
			
				123
			 | 
			
			
				       this.changeSourceFlag = !this.changeSourceFlag; 
			 | 
		
	
		
			
			| 
				126
			 | 
			
				124
			 | 
			
			
				       webViewSource = Object.assign(webViewSource, { changeSourceFlag: this.changeSourceFlag }); 
			 | 
		
	
		
			
			| 
				127
			 | 
			
				125
			 | 
			
			
				     } 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -173,7 +171,7 @@ const commonScript = ` 
			 | 
		
	
		
			
			| 
				173
			 | 
			
				171
			 | 
			
			
				     window.addEventListener('resize', updateSize); 
			 | 
		
	
		
			
			| 
				174
			 | 
			
				172
			 | 
			
			
				     `; 
			 | 
		
	
		
			
			| 
				175
			 | 
			
				173
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				176
			 | 
			
				
			 | 
			
			
				-const getSize = ` 
			 | 
		
	
		
			
			| 
				
			 | 
			
				174
			 | 
			
			
				+const getCurrentSize = ` 
			 | 
		
	
		
			
			| 
				177
			 | 
			
				175
			 | 
			
			
				     function getSize(container) { 
			 | 
		
	
		
			
			| 
				178
			 | 
			
				176
			 | 
			
			
				       var height = container.clientHeight || document.body.offsetHeight; 
			 | 
		
	
		
			
			| 
				179
			 | 
			
				177
			 | 
			
			
				       var width = container.clientWidth || document.body.offsetWidth; 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -187,7 +185,7 @@ const getSize = ` 
			 | 
		
	
		
			
			| 
				187
			 | 
			
				185
			 | 
			
			
				 function getBaseScript(style) { 
			 | 
		
	
		
			
			| 
				188
			 | 
			
				186
			 | 
			
			
				   return ` 
			 | 
		
	
		
			
			| 
				189
			 | 
			
				187
			 | 
			
			
				     ; 
			 | 
		
	
		
			
			| 
				190
			 | 
			
				
			 | 
			
			
				-    ${getSize} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				188
			 | 
			
			
				+    ${getCurrentSize} 
			 | 
		
	
		
			
			| 
				191
			 | 
			
				189
			 | 
			
			
				     (function () { 
			 | 
		
	
		
			
			| 
				192
			 | 
			
				190
			 | 
			
			
				         var height = 0; 
			 | 
		
	
		
			
			| 
				193
			 | 
			
				191
			 | 
			
			
				         var width = ${getWidth(style)}; 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -214,7 +212,7 @@ function getBaseScript(style) { 
			 | 
		
	
		
			
			| 
				214
			 | 
			
				212
			 | 
			
			
				 function getIframeBaseScript(style) { 
			 | 
		
	
		
			
			| 
				215
			 | 
			
				213
			 | 
			
			
				   return ` 
			 | 
		
	
		
			
			| 
				216
			 | 
			
				214
			 | 
			
			
				     ; 
			 | 
		
	
		
			
			| 
				217
			 | 
			
				
			 | 
			
			
				-    ${getSize} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				215
			 | 
			
			
				+    ${getCurrentSize} 
			 | 
		
	
		
			
			| 
				218
			 | 
			
				216
			 | 
			
			
				     (function () { 
			 | 
		
	
		
			
			| 
				219
			 | 
			
				217
			 | 
			
			
				         var height = 0; 
			 | 
		
	
		
			
			| 
				220
			 | 
			
				218
			 | 
			
			
				         var width = ${getWidth(style)}; 
			 |