2017-03-12 4 views
0

Ich möchte Popup-Fenster einmal auf jeder Sprach-Website (die meine Website ist in doppelter Sprache) anzeigen. Also, wenn der Benutzer sie öffnet jeweils die Nachricht zeigt nur einmal .. Ich habe Sitzung verwendet, das zu tun, aber es ist nur einmal für beide der Sprache zeigt, und ich habe diesen Code verwendetzeigt Popup einmal für jede Sprache Homepage

<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> 

So Die Frage ist, wie man es nur einmal auf jeder Homepage erscheinen lässt? Es wird jetzt nur einmal für beide angezeigt.

+0

Nun, ich schätze, du machst es richtig? aber Sie müssen den Wert der Sitzung prüfen, ob sie auf dieser Sprachseite korrekt ist oder nicht, wenn nicht, dann Popup-Menü, andernfalls nicht. Und Array von jeder besuchten Seite würde ich raten Arbeit, da Sie verschiedene Seiten haben und Sie müssen nur die Sprache innerhalb dieses Arrays auf jedem Popup, so dass Sie die Grundlage für Ihre Überprüfung haben könnte – Roljhon

+0

Vielen Dank für Ihre Antwort, können Sie Sag mir, wie man diese Bedingung für jede Verbindung von ihnen bildet? was ich benutze {{local}} Wert zu verschiedenen –

Antwort

0

Denken Sie daran, dass sessionStorage für jedes Browser-Register/Fenster unterschiedlich sein wird: MDN documentation. Ich verstehe nicht ganz, welches Verhalten Sie tatsächlich wollen oder was Sie sehen (wie ändert sich die Sprache?), Aber Session-Cookies könnten eine bessere Wahl sein: How do I create and read a value from cookie?

+0

Vielen Dank für Ihre Antwort, ich habe versucht, Cookie zu verwenden, aber es funktionierte nicht mit mir, eigentlich weiß ich nicht, was falsch war. Aber sogar Wenn es funktioniert, denke ich, dass ich das gleiche Problem haben werde, wie man beide Links mit der Diff-Sprache unterscheidet –

Verwandte Themen