2016-08-23 14 views
8

वेबव्यू घटक मुझे गंतव्य यूआरएल निर्दिष्ट करने की इजाजत देता है, उदा। facebook.comप्रतिक्रिया मूल वेबव्यू यूआरएल

render() { 

    return (
     <WebView 
      source={{uri: https://www.facebook.com}} 
      style={{marginTop: 20}} 
     /> 
    ); 
    } 

हालांकि, अगर मैं फेसबुक में लिंक पर क्लिक करें, मैं कैसे यूआरएल क्लिक किया जा रहा या url प्राप्त कर सकते हैं उतरा जा रहा है?

उत्तर

21

यहां एक वेबव्यू है जिसका उपयोग मैंने अपनी पिछली परियोजना के लिए किया था।

<WebView 
     ref="webview" 
     source={{uri:this.state.url}} 
     onNavigationStateChange={this._onNavigationStateChange.bind(this)} 
     javaScriptEnabled = {true} 
     domStorageEnabled = {true} 
     injectedJavaScript = {this.state.cookie} 
     startInLoadingState={false} 
    /> 

आप के लिए आवश्यक इस लाइन है:

  onNavigationStateChange={this._onNavigationStateChange.bind(this)} 

और आप इस तरह यूआरएल पढ़ सकते हैं:

_onNavigationStateChange(webViewState){ 
    console.log(webViewState.url) 
} 

अगर मैं सही ढंग से याद इस आग में 3 बार जब URL लोड करना।

webviewState वस्तु प्रोटोटाइप:

{ 
    canGoBack: bool, 
    canGoForward: bool, 
    loading: bool, 
    target: number, 
    title: string, 
    url: string, 
} 

3 (अंतिम) समय इस घटना कहा जाता है, लोड हो रहा है विशेषता

मुझे पता है अगर यह मदद करता है गलत है।

+0

यह काम करता है। धन्यवाद। क्या WebViewState विस्तार पर कोई स्पष्टीकरण है? – bns

+0

केवल यूआरएल/हैश परिवर्तन का पता लगाने के लिए कैसे? यदि साइट स्थिति नहीं बदलती है, तो NavigationStateChange चालू नहीं होता है। – chetan

+0

@chetan तब स्रोत परिवर्तन नहीं करेगा? मैंने लंबे समय से आरएन के साथ काम नहीं किया है – dv3

संबंधित मुद्दे