JQuery utilizzando i cookie
-
20-09-2019 - |
Domanda
nel mio file js voglio essere in grado di caricare una "splash screen" in una nuova applicazione d'aria im sviluppo. Allo stato attuale quando chiamo la schermata iniziale si apre e si chiude bene, ma la sua quando i renderlo impostare un cookie che pretende molto correre a tutti. Si prega di aiuto ...
cookieSplash();
function cookieSplash(){
var cookieSplash = $.cookie('loadSplash');
if (cookieSplash == "true") {
splash();
};
if (cookieSplash == "false") {
loadApplication();
};
}
function splash(){
$("#viewport").append('<div id="splash"><img id="splash-close" src="/images/splash-logo.png" alt="click to close"></div>');
$("#splash").click(function() {
// Act on the event
$("#splash").fadeOut("slow");
$("#jettison").fadeIn("fast");
$.cookie("loadSplash", "false");
});
}
function loadApplication(){
$("#jettison").fadeIn("fast");
}
Si prega di aiutarmi
Soluzione
Questa prima funzione dovrebbe essere diverso. Un cookie di disinserimento non si tradurrà in valori come "vero" o "falso" (che, come ha osservato @rochal sono stringhe, non booleani), sarà nullo. Inoltre, se il cookie è tenere traccia di se o non la schermata iniziale ha bisogno di essere dimostrato, come sarà hanno alcun valore a tutti in un primo momento?
function cookieSplash(){
var cookieSplash = $.cookie('loadSplash');
if (cookieSplash)
splash();
else
loadApplication();
}
function splash() {
$("#viewport").append('<div id="splash"><img id="splash-close" src="/images/splash-logo.png" alt="click to close"></div>');
$("#splash").click(function() {
// Act on the event
$("#splash").fadeOut("slow");
$("#jettison").fadeIn("fast");
$.cookie("loadSplash", "done");
});
}
Altri suggerimenti
Assicurati di aver incluso jquery_cookie.js
. Se avete, allora io suggerirei di usare Firefox / Firebug e controllare la console per gli errori javascript.
pagina di prova per i biscotti jQuery , si imposta il cookie scorrettamente. Utilizzare questo esempio di sintassi:
Per impostare:
$.cookie("MySplashCookie", true, { expires: 10 })
Per leggere:
$.cookie("MySplashCookie")
Nota:
"true" != true
"false" != false
assicurarsi che si sta salvando i tipi corretti troppo.