2017-04-07 14 views
1

私は自分のhtmlアプリケーションのウェルカムスクリーンを作成しています。 githubのウェルカムスクリーンプラグインを使用しています。ここで確認できますhttps://github.com/valnub/welcomescreen.jsページの更新時にローカルストレージの値が変更される

localstorageの値が0のときにウェルカム画面を表示します。ウェルカムスクリーンの閉じるボタンをクリックすると、localstorageの値を1に変更します。ただし、ページの更新時にlocalstorageの値が再び設定されます

これは私のjsファイルです。

/*jslint browser: true*/ 
 
/*global console, Welcomescreen, $*/ 
 

 
// Init method 
 

 
$(document).ready(function() { 
 
    localStorage.setItem("welscreen", "0"); \t 
 
    var welcomeTour = localStorage.getItem("welscreen"); 
 
\t 
 
    if (welcomeTour == 0) { 
 

 
    $(document).ready(function() {  
 
     var options = { 
 
      'bgcolor': '#0da6ec', 
 
      'fontcolor': '#fff', 
 
      'onOpened': function() { 
 
      console.log("welcome screen opened"); 
 
\t   console.log(welcomeTour); 
 
     }, 
 
     'onClosed': function() { 
 
      localStorage.setItem("welscreen","1"); 
 
\t  var welcomeTour = localStorage.getItem("welscreen"); 
 
\t  console.log("welcome screen closed"); 
 
\t  console.log(welcomeTour); 
 
     } 
 
    }, 
 
    welcomescreen_slides, 
 
    welcomescreen; 
 

 
    welcomescreen_slides = [ 
 
     { 
 
     id: 'slide0', 
 
     picture: '<div class="tutorialicon">♥</div>', 
 
     text: 'Welcome to this tutorial. In the <a class="tutorial-next- 
 
     link" href="#">next steps</a> we will guide you through a manual that will teach you how to use this app.' 
 
     }, 
 
     { 
 
     id: 'slide1', 
 
     picture: '<div class="tutorialicon">✲</div>', 
 
     text: 'This is slide 2' 
 
     }, 
 
     { 
 
     id: 'slide2', 
 
     picture: '<div class="tutorialicon">♫</div>', 
 
     text: 'This is slide 3' 
 
     }, 
 
     { 
 
     id: 'slide3', 
 
     picture: '<div class="tutorialicon">☆</div>', 
 
     text: 'Thanks for reading! Enjoy this app or go to <a class="tutorial-previous-slide" href="#">previous slide</a>.<br><br><a class="tutorial-close-btn" href="#">End Tutorial</a>' 
 
     } 
 
    ]; 
 

 
    welcomescreen = new Welcomescreen(welcomescreen_slides, options); 
 

 
    $(document).on('click', '.tutorial-close-btn', function() { 
 
    welcomescreen.close(); 
 
    }); 
 

 
    $('.tutorial-open-btn').click(function() { 
 
    welcomescreen.open(); 
 
    }); 
 

 
    $(document).on('click', '.tutorial-next-link', function (e) { 
 
    welcomescreen.next(); 
 
    }); 
 

 
    $(document).on('click', '.tutorial-previous-slide', function (e) { 
 
     welcomescreen.previous(); 
 
    });  
 
    }); 
 
}; 
 
});

+2

それが '0'に設定されています、あなたがここにするたびにその: 'のlocalStorage .setItem( "welscreen"、 "0"); '。既に存在するかどうかを確認する必要があります。 – Arg0n

+0

ローカル記憶域変数がdocument.readyに設定されているためです。ドキュメントが準備されるたびに0に設定されます。 – sainu

答えて

4

変更この:これに

localStorage.setItem("welscreen", "0"); 
var welcomeTour = localStorage.getItem("welscreen"); 

:もちろん

var welcomeTour = localStorage.getItem("welscreen"); 
if(welcomeTour === undefined || welcomeTour === null) { 
    localStorage.setItem("welscreen", "0"); 
    welcomeTour = "0"; 
} 
+0

それは動作します。おかげで多くの仲間。 –

関連する問題