在使用React Native for Android开发应用程序时,我试图将WebView用于OAuth流程。 WebView正确显示,但提供程序重定向到“必须启用JavaScript”错误页面。
我以为我在下面引用的docs中找到了一个快速而明确的答案,但在设置此属性后,我仍然被重定向到提供程序的“必须启用JavaScript”错误页面。
android javaScriptEnabled bool
仅在Android上使用,默认情况下为iOS上的WebView启用JS
我创建了以下组件作为缩减,当然,当WebView显示生成的页面时,它会报告未启用JavaScript。
我忽略了什么吗?
'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;
答案 0 :(得分:1)
文档正在引用预发布版本0.18,其中包含有关在Android WebView中启用JavaScript的重大更改。
突破变化
要在Android WebView中启用JavaScript,请改用javaScriptEnabled of javaScriptEnabledAndroid。
如果您的版本低于0.18,则可以使用javaScriptEnabledAndroid
但请注意,一旦正式发布,这将会中断。