別の .js ファイルに依存する HTML ファイルを読み込もうとしています。
だから私はこのようなコードを書きますが、webview でプレーンテキストを取得しました。
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},
]}
/>
);
};
そして、このようにコードを単純化しますが、それも機能しません。
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)}
/>
);
};
文法が下手でごめんなさい。