ItalyCookieChoices / italy-cookie-choices

A simple way to show how your website complies with the EU Cookie Law.
53 stars 12 forks source link

Eccezione su metodo "RemoveChild" in pulsante di accettazione #148

Open jollaman opened 8 years ago

jollaman commented 8 years ago

Ciao,

ho appena installato e personalizzato il vs. plugin su un nuovo sito, tutto bene ma ho un piccolo problema sul pulsante di accettazione dei cookie... Al momento della pressione del tasto viene invocato il codice JS della funzione allowCookie() :

function allowCookie(){ var a,b=document.getElementsByClassName("el"),c=new RegExp("<script.*?"); for(a=0;a<b.length;a++){ b[a].removeChild(b[a].childNodes[0]); .....

Il problema è che l'ultima riga (removeChild) fallisce, forse perché non trova in pagina nessuno elemento con classe "el".

Qualche idea?

Tenete presente che il tema è totalmente custom.

Grazie, I.

jollaman commented 8 years ago

Rettifico: Ho risolto da solo.

Il fallimento era dovuto al fatto che non tutti gli elementi hanno figli (Nel mio caso falliva sull'elemento relativo a Google Translate.

Ho risolto sostituendo, all'interno di "/js/default/cookiechoices.php" questa riga: b[a].removeChild(b[a].childNodes[0]); con questa: if (b[a].childNodes.length>0) {b[a].removeChild(b[a].childNodes[0]);}

A naso sembra funzionare. Anche lo scrolling che prima non era funzionante per lo stesso motivo, ora va.

Ciao, I.

overclokk commented 8 years ago

Ciao @jollaman se modifichi quel file poi al prossimo aggiornamento perdi la modifica e torna come prima, è possibile però inserirla direttamente qui nel progetto ma prima di fare questo io devo poter replicare 1 a 1 il tuo problema e fare tutti i test del caso per essere sicuro che non vada a creare problemi a tutti gli altri a cui funziona, quindi come faccio a replicare il tuo ambiente di sviluppo? Oppure come faccio a replicare il problema?

jollaman commented 8 years ago

Ciao Enea,

Abbiamo un ambiente di UAT qui: http://keypeople.b2bgenius.it/ Se vuoi replicare il problema puoi ripristinare a run time il codice della tua funzione (Eliminando il mio "If")). Dimmi se ti può essere d'aiuto...

Bye Ivan

overclokk commented 8 years ago

Ciao @jollaman il problema devo poterlo replicare sulla mia macchina ;-)

jollaman commented 8 years ago

Ciao,

il sito purtroppo non posso consegnartelo, posso però farti avere una login di accesso se ti serve. Il problema sembrava comunque essere causato dal plugin "Google Language Translator" che puoi trovare all'URL:

https://wordpress.org/plugins/google-language-translator/

Puoi provare a installarlo su un WP qualsiasi per verificare se replica, altro non saprei...

I.

overclokk commented 8 years ago

Non voglio accedere al sito ma come puoi capire se devo risolvere un problema devo poterlo replicare in qualche modo.

Hai provato a reimpostare il js com'era inizialmente e disattivare quel plugin?

jollaman commented 8 years ago

No, anche perché una volta risolto il problema rollbackare alla situazione precedente non mi serve a un gran che :)

overclokk commented 8 years ago

Ok, appena ho tempo ci guardo.