मैं एक HTML फ़ाइल लोड करने का प्रयास करता हूं जो किसी अन्य .js फ़ाइल पर निर्भर करता है।

तो मैं इस तरह कोड लिखता हूं, लेकिन वेबव्यू में सादा पाठ मिला।

render = () => {
    let source;
    if (__DEV__) {
      source = require('./vendor/Editor/index.html');
    } else {
      source =
        Platform.OS === 'ios'
          ? require('./vendor/Editor/index.html')
          : {uri: 'file:///android_asset/vendor/Editor/index.html'};
    }

    return (
      <WebView
        startInLoadingState
        source={source}
        onMessage={this.handleMessage}
        automaticallyAdjustContentInsets={false}
        style={[
          AppStyles.container,
          styles.container,
          {height: this.state.visibleHeight},
        ]}
      />
    );
  };

enter image description here

और मैं इस तरह कोड को सरल करता हूं, लेकिन यह भी काम नहीं करता है।

  render = () => {
    setTimeout(() => {
      this.webview.injectJavaScript(
        'window.ReactNativeWebView.postMessage(document.body.innerHTML)',
      );
    }, 3000);

    return (
      <WebView
        source={require('./vendor/GrEditor/index.html')}
        onMessage={e => console.log('e: ', e)}
      />
    );
  };

खराब व्याकरण के लिए खेद है।

4
Desmond Chen 7 अप्रैल 2020, 05:56

1 उत्तर

सबसे बढ़िया उत्तर

एंड्रॉइड में स्थानीय एचटीएमएल फाइल लोड करने के लिए आपको देव मोड में भी एंड्रॉइड एसेट पथ का उपयोग करने की आवश्यकता है। तो यह इस प्रकार होगा:

let source = Platform.OS === 'ios'
          ? require('./vendor/Editor/index.html')
          : {uri: 'file:///android_asset/vendor/Editor/index.html'};

Android.
. के एसेट फोल्डर (project_folder\android\app\src\main\assets) में अपने वेंडर फोल्डर को कॉपी करें आपके संदर्भ के लिए लिंक यहां दिया गया है: https://github.com/react-native-community/react-native-webview/blob/master/docs/Guide.md#loading-local-html-files

3
Ankit Makwana 28 अप्रैल 2020, 06:11