首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么本地存储不能在Firefox57和Vuejs2上运行?

为什么本地存储不能在Firefox57和Vuejs2上运行?
EN

Stack Overflow用户
提问于 2017-11-22 03:15:48
回答 4查看 2.6K关注 0票数 0

我想通过单击语言名称来更改语言,我使用vuex-i18n在前端设置语言。我正在使用localStorage,但是localStorage在火狐上不工作,我在火狐57上测试,我在Chrome和Edge上测试,在那里可以工作,但在火狐上不工作。(我已经检查了配置,dom.storage.enabled是真的)我的组件代码是:

代码语言:javascript
复制
<template>
    <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
    <div class="container-fluid">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand"  id="menu-toggle" @click ="OpenMenu(menuclicked)"><span class="glyphicon glyphicon-list" aria-hidden="true"></span></a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
            <ul class="nav navbar-nav navbar-right">
                <li><a href="" @click="setLanguage('en')" >English</a></li>
                <li><a href="" @click="setLanguage('es')"> Spanish</a></li>

                <li v-for ="item in topNavbarOptions"><router-link v-on:click.native="item.clickEvent" :to="{name:item.route}"><span :class="item.icon"></span> {{ item.name}}</router-link></li>

            </ul>
        </div>
    </div>
</nav>
</template>
<script>  
import  'vue-awesome/icons';
import {HTTP} from '../common/http-common';  
export default {
    props:['topNavbarOptions'],
    data: function () {
        return {
            menuclicked: false

        }
    },
    created:function(){
       this.$i18n.set(localStorage.getItem("locale"));
    },
    methods: {
        OpenMenu: function (menuclicked) {
            this.menuclicked = !menuclicked;
            this.$emit('openmenu', this.menuclicked );
        },
        setLanguage:function(locale)
       {
          HTTP.get('lang/'+locale)
          .then(response =>{
              //Set locale from backend
            localStorage.setItem("locale", locale);

          })
          .catch(error=>{
          console.log(error);
          });

        }



    }

}
</script>

我在HTTP call.There中使用axios是一种不使用本地存储或会话存储来设置语言的方法。我必须在代码中进行哪些更改才能与Firefox兼容?

谢谢。

EN

Stack Overflow用户

发布于 2017-11-23 16:18:03

你试过window.localStorage吗?这应该是上下文和作用域无关的。

票数 1
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47420960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档