[英]React Native Android WebView: javaScriptEnabled does not seem to be working
While developing an app with React Native for Android, I was attempting to use a WebView for an OAuth flow. 在使用React Native for Android开发应用程序时,我试图将WebView用于OAuth流。 The WebView displayed correctly, but the provider redirected to their "JavaScript must be enabled" error page.
WebView可以正确显示,但是提供程序已重定向到其“必须启用JavaScript”错误页面。
I thought I found a quick and clear answer in the docs quoted below, but after setting this property, I still got redirected to the provider's "JavaScript must be enabled" error page. 我以为我在下面引用的文档中找到了一个快速明确的答案,但是设置此属性后,我仍然被重定向到提供程序的“必须启用JavaScript”错误页面。
android javaScriptEnabled bool
android javaScriptEnabled bool
Used on Android only, JS is enabled by default for WebView on iOS仅在Android上使用,默认情况下在iOS上为WebView启用JS
I created the following component as a reduction, and sure enough, when the WebView displays the resulting page, it reports that JavaScript is not enabled. 我创建了以下组件作为减少组件,并且可以肯定的是,当WebView显示结果页面时,它报告未启用JavaScript。
Am I overlooking something? 我在俯视什么吗?
'use strict';
var React = require('react-native');
var {
View,
StyleSheet,
WebView,
} = React;
var MyComponent = React.createClass({
getInitialState: function() {
return {
url: 'https://www.whatismybrowser.com/detect/is-javascript-enabled',
};
},
render: function() {
return(
<View style={[styles.container]}>
<WebView style={styles.webview}
url={this.state.url}
javaScriptEnabled={true}
/>
</View>
);
},
});
var styles = StyleSheet.create({
container: {
flex: 1,
},
webview: {
flex: 1,
},
});
module.exports = MyComponent;
The docs are referencing pre-release version 0.18 which contains a breaking change regarding enabling JavaScript in Android WebView. 该文档引用的是预发布版本0.18,其中包含有关在Android WebView中启用JavaScript的重大更改。
Breaking changes
重大变化
To enable JavaScript in Android WebView, use javaScriptEnabled instead of javaScriptEnabledAndroid.
要在Android WebView中启用JavaScript,请使用javaScriptEnabled而不是javaScriptEnabledAndroid。
If you are on a version under 0.18 you can use javaScriptEnabledAndroid
but be aware that this will break once it is officially released. 如果您使用的版本低于0.18,则可以使用
javaScriptEnabledAndroid
但请注意,一旦正式发布,它将中断。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.