如何清除React Native WebView Cookie?
当我重新打开页面时,如果我登录网站,它会记住我的帐户。但我不想那样。
我可以通过注入 javascript 来做到这一点吗?
使用此解决:https://github.com/react-native-community/react-native-cookies
CookieManager.clearAll();
我使用隐身模式作为转机,它非常适合我。
<WebView
incognito={true}
userAgent="Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like Gecko"
source={{
uri:
'your url',
}}
style={{ flex: 1 }}
/>
在我发帖时,
CookieManager
对Expo的支持很差,更改密码后我在清除cookie时遇到了问题。
2020 年,对于使用 Expo 的人,这有效:
const RCTNetworking = require('react-native/Libraries/Network/RCTNetworking')
RCTNetworking.clearCookies(() => { })
var RCTNetworking = require(“RCTNetworking”);
RCTNetworking.clearCookies(() => {});
2024 年世博会用户答案
找不到一个库可以做到这一点。Adeb 的答案非常适合简单的、从新的情况开始,但我需要一些关于 cookie 的自定义行为。
注入一些自定义 Javascript 来操作 cookie。根据您的设置,对于某些和较新的浏览器使用
Cookie Store API,或更多手动清除 Cookie 的方法。
export default function HomeScreen() {
const webView = useRef<WebView>(null)
const injectCookies = () => {
webView.current?.injectJavaScript(`
console.log("manipulate your cookies here, for example using cookiestore api");
`)
}
return (
<View style={styles.container}>
<View style={styles.banner}>
<Button onPress={injectCookies} title="button"></Button>
</View>
<WebView
source={{uri: localDev}}
/>
</View>
);
}