我正在尝试在我的React Native项目的WebView中包含一个外部JavaScript文件。 我希望包含的文件是第三方库,不在npm
上可用,用普通JavaScript编写(没有ES5或更高版本)。 我需要一种解决方案,可以在React Native项目的WebView中注入我的JS文件,而无需导入它或使其成为npm模块。
目前我已经尝试了以下方法,但都没有成功:
- 我尝试像这样加载脚本:Insert script tag
- 我尝试根据这里的答案动态加载脚本在
injectedJavaScript
中:Link JS file from a JS file
这是我的外部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>
);
}
}