根据用户选择显示重复访问的特定页面

时间:2017-03-07 18:40:16

标签: javascript html visual-studio cookies local-storage

我有一个在页面加载时启动的模式,并向用户询问几个问题(这是为了使他们符合条件,因为我们的产品适用于许多行业。一旦他们从模态中选择一个选项,他们就被带到一个页面,针对他们的行业)。 **这是一个网页而不是应用程序。

我是初学者,欢迎任何帮助。有可能记住他们的选择吗?因此,如果他们要返回网页,它会直接进入该目标页面,而不是每次都弹出挑战他们?我认为这可以用cookies完成,但我不知道从哪里开始。

<div id="myModal" class="modal fade">
<div class="modal-dialog">
    <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
            <h4 class="modal-title">What Best Describes You?</h4>
        </div>
        <div class="modal-body">
            <p>Please choose which best describes you so you can see content relevant to your industry.</p>
            <ul class="list-unstyled list-spacing">
                <li>I am a</li>
                <li>I am a</li>
                 <li>I am a</li>
                 <li>I am a</li>
            </ul>
        </div>
    </div>
</div>

<script>
    $(document).ready(function () {
            $("#myModal").modal('show');
        });
</script>

1 个答案:

答案 0 :(得分:0)

是的,您可以将用户输入的数据存储在本地存储中,并且在用户清除之前,它始终可供您使用。因此,在页面加载时,如果可用,则检查本地存储中的数据,否则提示用户输入详细信息。

保存数据 - localStorage.setItem('key', val); 在你的情况下,你试图记住多个值,以便更好地创建一个对象并保存它。

for exmpale -

    var userDataOnLoad = localStorage.getItem('userData');

    // check if userDataOnLoad defined    
    if(userDataOnLoad) {

       // take the values out of the object
       var username = userDataOnLoad.userName,
           industry = userDataOnLoad.industry;

    } else {

      // prompt user to enter data and save it here in local storage
      var data = {};
      data.userName = 'abc';
      data.industry = 'information technology';
      // other details.

     // save the entire user data object to local storage
     localStorage.setItem('userData', data);
    }