diegolamonica / EUCookieLaw

A Javascript and PHP solution to the European Cookie Law Issue
GNU Lesser General Public License v3.0
48 stars 13 forks source link

Bug nel parsing campo <body> usando il motore di elaborazione DOMDocument #104

Open liotro78 opened 8 years ago

liotro78 commented 8 years ago

Caro Diego,

premetto che me la cavicchio, ma non sono un esperto di php e javascript.

Ultimamente ho notato un problema con il tuo magnifico plugin.

Quando é abilitato, il <body> della mia home viene modificato rimuovendo alcuni tag. Quando peró il visitatore clicca su "Accetto", il tuo banner sparisce ma il <body> corretto della home del mio template non viene ripristinato.

Questa é la versione corretta e completa del <body> della home del mio template: <body class="home page page-id-1450 page-template page-template-page-home page-template-page-home-php" data-pin-hover="true" style="transform: none;">

mentre questa é la versione visibile quando il tuo plugin é attivo: <body style="transform: none;">

Praticamente una bella porzione del <body> sparisce: class="home page page-id-1450 **page-template page-template-page-home page-template-page-home-php" data-pin-hover="true".

Ovviamente, alcune funzionalitá (come quella di "pinnare" alcune immagini presenti sulla home) non funzionano in quanto data-pin-hover="true" é assente nel <body>.

Nel file header.php il codice che crea il body é il seguente: <body <?php body_class(''); ?>> .

Inoltre attualmente utilizzo un plugin per la cache: SuperCacher di Siteground.com.

Mi sai spiegare come mai succede? Ripeto, quando disattivo il tuo plugin tutto funziona correttamente.

Saluti cordiali, Alfonso

diegolamonica commented 8 years ago

Ciao @liotro78 grazie per il feedback.

Ti chiedo di verificare se il problema si presenta utilizzando entrambi i motori di interpretazione (Espressioni regolari e DOMDocument).

Ogni volta che cambi un elemento di configurazione ti suggerisco di svuotare la cache per assicurarti la resa corretta.

Resto in attesa di un tuo feedback.

Diego

liotro78 commented 8 years ago

Salve,

un aggiornamento: il problema si presenta solo con DOMDocument, mentre con Espressioni regolari funziona benissimo.

Saluti, Alfonso

diegolamonica commented 8 years ago

Grazie per il feedback.

liotro78 commented 8 years ago

Ciao Diego,

scusami ma devo correggermi su quanto detto ieri nel mio feedback...

Con Espressioni Regolari in effetti il plugin funziona meglio ma non del tutto...

Ecco come appare il body con il plugin attivo: <body class="home page page-id-1450 page-template page-template-page-home page-template-page-home-php" style="transform: none;">

mentre questo e' il body corretto: <body class="home page page-id-1450 page-template page-template-page-home page-template-page-home-php" style="transform: none;" data-pin-hover="true">

praticamente sparisce la parte data-pin-hover="true".

Inoltre ho notato che c'e' un problema con le pubblicita' contestuali di LinkWeLove.it ma forse per questo e' meglio aprire un altro issue.

Saluti, Alfonso

diegolamonica commented 8 years ago

Ciao @liotro78 il comportamento che descrivi però non è logico. L'attributo data-pin-hover sul tag body lo inserisce qualche script in particolare o risulta presente nel file originale del template?

liotro78 commented 8 years ago

Ciao,

domanda interessante, onestamente non credo esistesse nel file originale del template...

Ho paura lo inserisca lo script che ho aggiunto in footer.php per fare apparire il widget di Pinterest:

<script type="text/javascript" data-pin-hover="true" async defer src="//assets.pinterest.com/js/pinit.js"></script>

Comunque sia, esiste una soluzione? Il tuo plugin dovrebbe comunque memorizzare il body completo includendo anche l'attributo mancante?