Quando provo a caricare la mia pagina che utilizza jQuery, quando la seguente riga è colpito:
if ($.cookie('compare') != null)
ottengo l'errore $ .cookie non è una funzione. Qualcuno l'ha visto prima?
Quando provo a caricare la mia pagina che utilizza jQuery, quando la seguente riga è colpito:
if ($.cookie('compare') != null)
ottengo l'errore $ .cookie non è una funzione. Qualcuno l'ha visto prima?
Ciò significa che la $.cookie
plugin non è stata inclusa nella pagina, almeno non essere è sempre chiamato. Assicurati che sia incluso ed è incluso prima dello che si sta abituando. Includilo subito dopo che jQuery stesso è sicuro.
Solo un consiglio: Diversi altri plugin si basano sul plug-in di cookie (ma non necessariamente verificare se esiste prima di chiamare), si potrebbero utilizzare uno.
Questo era il problema, sembra che il mio provider di hosting avesse problemi a caricare jquery.cookie.js, rinominare jqueryycookie.js risolto il problema – Introgy
Altre possibili soluzioni qui: http://stackoverflow.com/questions/18024539/jquery -cookie-is-a-function – ElliotSchmelliot
Avete il jQuery cookie plugin?
No, ma io in grado di mostrare come fare uno molto facile come ...
Creare un file js separato, il nome è quello che si vuole, per la facilità di questo, lo chiamerò jCook.
Nella tua testa, dopo aver aggiunto jQuery, aggiungere il nuovo file:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jCook.js"></script> <!-- here it is! -->
E sotto è il codice facile mettere nel file:
(function($) {
if (!$.setCookie) {
$.extend({
setCookie: function(c_name, value, exdays) {
try {
if (!c_name) return false;
var exdate = new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value = escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie = c_name + "=" + c_value;
}
catch(err) {
return false;
};
return true;
}
});
};
if (!$.getCookie) {
$.extend({
getCookie: function(c_name) {
try {
var i, x, y,
ARRcookies = document.cookie.split(";");
for (i = 0; i < ARRcookies.length; i++) {
x = ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y = ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x = x.replace(/^\s+|\s+$/g,"");
if (x == c_name) return unescape(y);
};
}
catch(err) {
return false;
};
return false;
}
});
};
})(jQuery);
La cattura tentativo e non quello aiuta solo ad assicurarti di ottenere un ritorno "falso" se fai qualcosa di sbagliato, ma in realtà non dovrebbe mai essere un problema. Per utilizzare il codice è facile ...
Sulla tua pagina, in cui il codice di carico o qualsiasi altra cosa è solo effettuare le seguenti operazioni:
$.setCookie("nameOfCookie", "someValue", 30); // where 30 is the number
// of days to expire, or you could leave blank as:
$.setCookie("nameOfCookie", "someValue")
// And to retrieve your cookie
$.getCookie("nameOfCookie");
Vedere come semplice che era !?
E proprio per risolvere, sotto è un esempio reale mondo utilizzano per salvare uno stato di un selezionato menu a tendina
$(function(){
$("select[name=somthing]").change(function(e) {
$.setCookie("selectThis", $(this).val());
});
// And to use ...
if ($.getCookie("selectThis")) $("select[name=somthing]").val($.getCookie("selectThis")).change();
});
Amo questa soluzione. Facile da implementare e gestisce perfettamente i miei oggetti – PhillyNJ
Impressionante, ha funzionato come un incantesimo – andypotter
Prova permettendo Mod_Sec per il dominio, o chiedere la vostra società di hosting per abilitarla. Spero che questo ti aiuti.
Lo stesso problema si è verificato nella nostra installazione di Drupal 7. È stato causato, se ho capito bene, dalla configurazione di ModSecurity in cPanel che blocca il file. Vedere http://forums.cpanel.net/f5/mod-security-blocking-jquery-cookie-javascript-drupal-installation-191002.html
Sto usando questo codice -
if($.cookie('siteLayout') != undefined){
if($.cookie('siteLayout') == 'compact')
$(settings.bodyElem).addClass('container');
}
e funziona benissimo. Ma ero in-necessità di utilizzare un'altra versione jQuery in una pagina specifica in cui versione era 1.7.2, ma mi è stato effettivamente utilizzato 1.10.2 Dopo l'uso multiplo versione jQuery ho ottenuto questo errore -
TypeError: $.cookie is not a function
poi ho usato jQuery.cookie
invece di $.cookie
e funziona. Spero, questo aiuterà anche;)
Per me il problema è stato risolto dopo aver scaricato l'ultima versione di jQuery.cookie js
Fondamentalmente potrebbero esserci vari motivi per questo problema.
<script src="js/jquery.mobile-1.4.5.min.js"></script>
<script src="js/jquery.cookie.js"></script>
il primo plugin deve essere juqery.js e il secondo plugin è cookie.js
per quanto ne so, 'cookie' è un plugin jQuery. Stai caricando quel plugin? –
Ciò può accadere anche se la tua libreria 'jquery' viene caricata due volte. –