2016-07-19 8 views
0

私のサイトに行くとポップアップが表示されます。警告ラベルです。私はそれが最初の訪問で出現するだけで、もう一度出てはならない。現在、最新の情報をクリックするか、ホームページに戻るたびに表示されます。ここでポップアップを1回表示する

は、JavaScriptコードは(とすぐに誰かがクリックすると '警告ボタンを入力してください')です:

<script> 
"use strict" 
warning_popup(); 

function warning_popup() { 
    addEventListener('load', start); 

    function start() { 
     // popup block background 
     var bkg = document.createElement("div"); 
     bkg.id = "warning-background"; 
     document.body.insertBefore(bkg, document.body.firstChild); 

     // popup window 
     var box = document.createElement("div"); 
     box.id = "warning-window"; 
     document.getElementById("warning-background").appendChild(box); 

     // warning title 
     var title = document.createElement("div"); 
     title.id = "warning-title"; 
     title.className = "page-title-wrapper page-title"; 
     title.innerHTML = "<h1>Binge Eating Disorder<\h1>"; 
     document.getElementById("warning-window").appendChild(title); 

     // warning description 
     var desc = document.createElement("div"); 
     desc.id = "warning-desc"; 
     desc.className = "page-desc"; 
     desc.innerHTML = "<p>Binge Eating Disorder is disease that I take very seriously.<p>"; 
     document.getElementById("warning-window").appendChild(desc); 

     // warning button enter 
     var enter = document.createElement("div"); 
     enter.id = "warning-enter"; 
     enter.className = "page-desc"; 
     enter.innerHTML = "<p>View</p>"; 
     document.getElementById("warning-window").appendChild(enter); 


     // warning button back 
     //var back = document.createElement("div"); 
     //back.id = "warning-back"; 
     // back.className = "page-desc"; 
     // back.innerHTML = "<p>Take Me Back</p>"; 
     // document.getElementById("warning-window").appendChild(back); 

     // listens for button clicks 
     document.querySelector("#warning-enter").addEventListener("click", function() { 
      document.querySelector("#warning-background").style.visibility = "hidden"; 
     }); 
     document.querySelector("#warning-back").addEventListener("click", function() { 
      window.history.back(); 
     }); 
    } 
} 

+0

ソリューションは、今から有効期限1年とjavascriptのクッキーを設定し、毎回、ページのロードを確認してください簡単です。そのクッキーが存在する場合は、show_popup関数を実行しないでください –

答えて

0

私はlocalStorageはあなたの問題を解決することができると思います。この例を考えてみましょう:

window.onload = init; 

function init() { 
    if (localStorage.getItem('first_time') === "undefined" || localStorage.getItem('first_time') === null) { 
    // Set the storage key and show the warning—but only this one time 
    localStorage.setItem('first_time', true); 
    showWarning(); 
    } 
} 

function showWarning() { 
    console.log("Showing warning..."); 
} 

このコードをロードすると、showWarning関数が1回だけ起動します。

https://jsfiddle.net/ez2qqpbx/

関連する問題