私のReactネイティブプロジェクトのWebViewに外部JavaScriptファイルを含めることを試みています。私が含めるファイルには、npm
で公開されていない第三者図書館が含まれています(ES5以降は不可)。 React NativeプロジェクトのWebViewに自分のJSファイルをインポートしたり、npmモジュールにしたりせずにJSファイルを注入するためのソリューションが必要です。ReactネイティブAppのWebViewに外部JavaScriptファイルを含めます
私は、次の方法を試してみましたが、何も今のように動作しません:答え、次のinjectedJavaScript
にInsert script tag
これは私の外部AppGeneral.js
です:
function AppGeneral(){
alert("Ok");
}
var app = new AppGeneral();
これは私のindex.ios.js
ファイルです:
export default class sampleReactApp extends Component {
render() {
let HTML = `
<html>
<head>
<script type="text/javascript" src="js/AppGeneral.js"></script>
</head>
<body>
<div id="workbookControl"></div>
<div id="tableeditor">editor goes here</div>
<div id="msg" onclick="this.innerHTML=' ';"></div>
</body>
</html>
`;
let jsCode = `
alert("Js");
`;
return (
<View style={styles.container}>
<WebView
style={styles.webView}
ref="myWebView"
source={{ html: HTML }}
injectedJavaScript={jsCode}
javaScriptEnabledAndroid={true}
>
</WebView>
</View>
);
}
}
なぜコードを実行するためにwebviewを使用したいですか? –
@MartinCup My JSファイルはJS Spreadsheetエンジンです。ライブラリ全体をモジュールに変換してimportステートメントで使用することは、最適な解決策ではありません。したがって、このファイルを* cordova *ベースのアプリ、つまりwebviewで使用するように含めることにしました。最高のアプローチをお勧めします。 –