Angular应用程序的localStorage在Android Web视图中不起作用

时间:2018-12-19 05:26:10

标签: android angular webview local-storage android-webview

我已经在 Angular 4 中创建了一个Web应用程序。

在登录后的应用程序中,我将用户安全令牌保存在 localStorage

基于localStorage的值,我在应用程序中隐藏了一些链接,例如-成功登录后隐藏登录按钮,并且在浏览器中工作正常。但是当我尝试在原生android应用网络视图中加载它时,隐藏了无法正常运行的逻辑。

  

链接隐藏代码HTML

int* __attribute__ ((noinline)) GetMemAddr(int index) {
    static int data[10];
    return &data[0];
}

void fun() {
    int *a=GetMemAddr(1); //use different args to get same address to avoid optimiztion
    int *b=GetMemAddr(2);
    *a=1;
    *b=3;
}
  

角度组件代码

<a *ngIf="checkToken()" (click)="onLogOut()">Logout</a>
  

Android Web查看代码

checkToken() {
    if (localStorage.getItem('token')) 
    {
        return false;                    
    } 
    else 
    {
        return true;
    }
}

我已经搜索了很多东西,但是没有找到任何解决方案,请提出建议或给我一种解决此问题的方法。

谢谢。

2 个答案:

答案 0 :(得分:1)

如果您在应用中使用WebView,是否通过设置Android WebView来启用该功能,如:

webView.getSettings().setDomStorageEnabled(true);

也许您也需要调用以下内容:

webView.getSettings().setDatabaseEnabled(true);

答案 1 :(得分:0)

您应该尝试在Android网络设置中启用localStorage

settings.setDomStorageEnabled(true);