注入Javascript函数在Android React Native WebView中不工作,但在iOS React Native中工作正常
我在应用webview时遇到了一个挑战。我想将Javascript函数注入到我的webview中,但它只在iOS中工作,在Android中不工作 查看我的代码:注入Javascript函数在Android React Native WebView中不工作,但在iOS React Native中工作正常,javascript,android,react-native,webview,Javascript,Android,React Native,Webview,我在应用webview时遇到了一个挑战。我想将Javascript函数注入到我的webview中,但它只在iOS中工作,在Android中不工作 查看我的代码: let jsCode = `function doPopUp() { document.querySelector('#myBody').style.backgroundColor = 'red'; alert('hello world fr
let jsCode = `function doPopUp() {
document.querySelector('#myBody').style.backgroundColor = 'red';
alert('hello world from webview');
}`;
网络视图:
<WebView
source={{uri:"http://mywebview.com/webview.php"}}
injectedJavaScript={jsCode}
mixedContentMode={'compatibility'}
javaScriptEnabledAndroid={true}
style={{height: 300}} />
在iOS中,它可以正常工作,但在Android中不行。如果我没有注入JS(i
将它直接放在php文件中),然后在Android浏览器中打开它
好的其他信息是,如果我没有将语法放入js函数中,它就可以正常工作。为什么?如何修复它
对于android,在添加javascript函数时,我们需要将其添加为DOM的一部分。为此,将jsCode中的
函数
替换为文档
let jsCode = `docuement.doPopUp() {
document.querySelector('#myBody').style.backgroundColor = 'red';
alert('hello world from webview');
}`;
对于android,在添加javascript函数时,我们需要将其添加为DOM的一部分。为此,将jsCode中的
函数
替换为文档
let jsCode = `docuement.doPopUp() {
document.querySelector('#myBody').style.backgroundColor = 'red';
alert('hello world from webview');
}`;
在
WebView
中设置domStorageEnabled={true}
。希望它能工作。不幸的是,它对我不起作用。在http://mywebview.com/webview.php
文件??你们有id为myBody的HTML组件吗?我称之为inside button。然后,仅当我通过React Native向Webview注入脚本时,该函数才起作用。如果我将函数直接放在Webview中,它就工作了。在Webview
中声明let-jsCodesetdomStorageEnabled={true}
时删除单引号。希望它能工作。不幸的是,它对我不起作用。在http://mywebview.com/webview.php
文件??你们有id为myBody的HTML组件吗?我称之为inside button。然后,仅当我通过React Native向Webview注入脚本时,该函数才起作用。如果我将函数直接放在Webview中,它就会工作。在声明let jsCode时删除单引号