首页 > 解决方案 > 如何在 NativeScript 中从 Browser/WebView 读取和设置 cookie?

问题描述

我正在构建一个主要显示来自网站的公共数据的应用程序。一些项目需要验证才能读取。我不想在应用程序中重新创建整个网站,所以我想让用户通过 Web 视图或浏览器弹出窗口登录并从该会话中获取包含令牌的 cookie。然后我将使用它来验证我的应用内休息调用以获取数据。这应该适用于 iOS 和 Android,但我还没有想出一个有效的解决方案。如何从手机浏览器/网络视图读取和写入 cookie?我正在使用最新的 Angular (9) 和 NativeScript。

标签: nativescriptnativescript-angular

解决方案


对于安卓

网络视图用户界面

  <WebView height="1200px" src="https://www.nativescript.org"
    (loadFinished)="onLoadFinished($event)"></WebView>

打字稿代码

  import * as application from 'application';
  declare const android;

  ....
  ....
  ....

  onLoadFinished(args: LoadEventData) {
    android.webkit.CookieManager.getInstance().getCookie(<cookie name>)
    android.webkit.CookieManager.getInstance().setCookie(<cookie name>, <cookie value>)
  }

对于IOS来说似乎有点复杂

参考iOS nativescript 中的StackOverflow设置 cookie


推荐阅读