2017-03-12 4 views
0

各言語サイト(私のサイトは二重言語)でポップアップウィンドウを1回表示したい。したがって、ユーザーが..私はそれを行うためにセッションを使用しているが、それは唯一の言語の両方のために1時間を示しています、と私は、このコード各言語のホームページに一度ポップアップを表示

<script>// Created for an Articles on: 
// https://www.html5andbeyond.com/session-storage-display-popup-advert/ 

jQuery(document).ready(function($){ 

if (sessionStorage.getItem('advertOnce') !== 'true') { 
$('body').append('<div id="advert-once"> <div id="boxes"><div style="top: 199.5px; left: 551.5px; display: none;" id="dialog" class="window"><h1 class="dialog">@lang("pagination.poptitle")</h1><h2 class="dialog">@lang("pagination.popup")</h2><button id="clos" class="close " class=" ">@lang("pagination.popbutton") </button></div></div><div style="width: 1478px; height: 1000px; display: none; opacity: 0.8;" id="mask"></div><div class="advert-button"></div></div>') 
sessionStorage.setItem('advertOnce','true'); 
} 

$('#advert-once .advert-button').on('click',function(){ 
$('#advert-once').hide(); 
}); 

$('#reset-session').on('click',function(){ 
sessionStorage.setItem('advertOnce',''); 
}); 

}); 
//# sourceURL=pen.js 
</script> 

を使用しているそれらの各メッセージは一度だけを示しを開いたとき問題は各ホームページの言語で1回だけ表示させる方法です。 これで両方に1回だけ表示されます。

+0

まあまあ、その言語ページに該当する場合はセッションの値をチェックする必要があります。そうでない場合はポップアップされません。訪問した各ページの配列は、別のページを持っているので、作業を推測するでしょう。すべてのポップアップでその配列内の言語をプッシュして、チェックの基礎を得ることができます。 – Roljhon

+0

ありがとうございます。それらの各リンクのためのその条件を作る方法を教えてください?私は{{local}}の値をそれぞれ違うものに使用しています –

答えて

0

sessionStorageは、ブラウザタブ/ウィンドウごとに異なることを覚えておいてください:MDN documentation私はあなたが実際に何をしたいのか、何を見ているのかよく分かりません(どのように言語が変わりますか)。しかしセッションクッキーが良い選択になるかもしれません:How do I create and read a value from cookie?

+0

ありがとう、私はクッキーを使用しようとしましたが、実際に私は何が間違っていたのか分かりませんでした。それが動作している場合、私は同じ問題を持っていると思う、diffrrentと両方のリンクをdiffrrentする方法 –

関連する問題