注入Javascript函数无法在Android React Native WebView中运行,但可以在iOS React Native中正常运行

时间:2018-11-15 03:26:08

标签: javascript android react-native webview

应用网络视图时遇到了挑战。我想将Javascript函数注入到Webview中,但是它只能在iOS中运行,而不能在Android中运行。

查看我的代码:

Webview:

<WebView
                            source={{uri:"http://mywebview.com/webview.php"}}
                            injectedJavaScript={jsCode}
                            mixedContentMode={'compatibility'}
                            javaScriptEnabledAndroid={true}
                            style={{height: 300}} />

要注入的JSCode:

let jsCode = `function doPopUp() {
                        document.querySelector('#myBody').style.backgroundColor = 'red';
                        alert('hello world from webview');
                        }`;
  

在iOS中它可以正常工作,但在Android中则不能。如果我没有注入JS(i   将其直接放在php文件中),然后在Android浏览器中打开即可   精细。为您提供的其他信息是,如果我没有将语法放入js函数中,则效果很好。为什么?以及如何解决?

1 个答案:

答案 0 :(得分:3)

对于 android,在添加 javascript 函数时,我们需要将其添加为 DOM 的一部分。为此,将 jsCode 中的 function 替换为 document

let jsCode = `docuement.doPopUp() {
                        document.querySelector('#myBody').style.backgroundColor = 'red';
                        alert('hello world from webview');
                        }`;