2017-03-28 19 views
0

を更新したときに、私は、このモーダルをしたし、それが唯一のモーダルでウェブサイト表示するモーダル

$(document).ready(function(){ 
    setTimeout(function(){ 
     if(!Cookies.get('modalShown')) { 
      $("#myModal").modal('show'); 
      Cookies.set('modalShown', true); 
     } else { 
      alert('You already saw the modal') 
     } 
    },1000); 
}); 

への最初の訪問では、アプリケーションにどのような新しい機能の内容を示して示したが追加されます。私の目標はですので、モーダルコンテンツを更新するたびにモーダルをユーザーに表示します。これどうやってするの?

+1

モーダルコンテンツを更新するときに、Cookie名を変更します。 (ただし、['localStorage'](https://developer.mozilla.org/nl/docs/Web/API/Window/localStorage)を使用する必要がありますので、リクエストごとにサーバーに送信されることはありません。 ) – Ivar

+0

あなたがチェックしている新しいタイムスタンプでshow modalとユーザーのクッキーを一致させない場合は、新しいタイムスタンプのチェックを更新するときに、クッキーにタイムスタンプ/バージョン番号/一意のハッシュを設定します。 – Quince

+0

@Ivar既に考えられていますが、内容が以前と同じかどうかどうかを確認して、それが再度表示されるべきであれば、より良いでしょう。 – KSHMR

答えて

0

を変更するたびに、モーダル値の変更あなたのクッキーの値は、そうこれは私のために働いていたものです:

$(document).ready(function() { 
    var currentRelease = document.getElementById("version").innerHTML; 
    var currCookie = Cookies.get('modalShown'); 
    setTimeout(function() { 
     if(!currCookie || currCookie != currentRelease) { 
      $("#myModal").modal('show'); 
      Cookies.set('modalShown', currentRelease); 
     } 
    }, 1000); 
}); 

のTh e id versionmodal-contentの一部ですので、コンテンツ内の何かを変更すると、コンテンツの変更以降、最初の訪問時に再度モーダルが表示されます。

1

あなたのクッキー値でversionning使用することができます:あなたは「currentRelease」の値を更新するには、このメソッド軍という

var currentRelease = "1.0.1", 
currCookie = Cookies.get('modalShown') 

setTimeout(function(){ 
    if(!currCookie || currCookie != currentRelease) { 
     $("#myModal").modal('show'); 
     Cookies.set('modalShown', currentrelease); 
    } else { 
     alert('You already saw the modal') 
    } 
},1000); 

注 あなたはまた、MD5へのモーダルのテキストコンテンツを暗号化、ということを使用することができます、MD5は

関連する問題