Quando Differire jQuery
Comprendi quando e come gestire il caricamento differito di jQuery per evitare conflitti con QA Advisor e garantire il corretto funzionamento del tracciamento.
Panoramica
jQuery è una libreria JavaScript fondamentale utilizzata da molti plugin WordPress, incluso QA Advisor. Tuttavia, alcune ottimizzazioni delle prestazioni possono causare il caricamento differito (defer) di jQuery, il che può interferire con il corretto funzionamento del tracciamento di QA Advisor.
Quando jQuery Defer Causa Problemi
Sintomi Comuni
Se QA Advisor non funziona correttamente, potresti notare:
- Nessun dato di tracciamento: Le visualizzazioni pagina non vengono registrate
- Mappe di calore vuote: Nessun dato di clic o movimento mouse
- Errori JavaScript: Errori nella console del browser
- Funzionalità mancanti: Alcune funzionalità dell'interfaccia non funzionano
Cause del Problema
Il problema si verifica quando:
- Plugin di ottimizzazione differiscono jQuery
- Temi personalizzati caricano jQuery in modo asincrono
- CDN o cache modificano l'ordine di caricamento degli script
- Configurazioni server ritardano il caricamento di jQuery
Identificazione del Problema
Controllo Console Browser
- Apri gli strumenti sviluppatore del browser (F12)
- Vai alla scheda "Console"
- Ricarica la pagina
- Cerca errori come:
$ is not defined
jQuery is not defined
Cannot read property of undefined
Test di Funzionalità
- Vai a QA Advisor > Tempo Reale
- Apri il tuo sito in una nuova scheda
- Naviga tra le pagine
- Se non vedi attività in tempo reale, potrebbe esserci un problema jQuery
Controllo Codice Sorgente
Visualizza il codice sorgente della pagina e controlla:
<!-- jQuery dovrebbe caricarsi PRIMA degli script QA Advisor -->
<script src="jquery.min.js"></script>
<script src="qa-advisor-tracking.js"></script>
Soluzioni per Plugin di Ottimizzazione
WP Rocket
Se utilizzi WP Rocket:
- Vai a Impostazioni > WP Rocket
- Scheda "Ottimizzazione File"
- In "JavaScript Files":
- NON selezionare "Defer JavaScript execution"
- OPPURE aggiungi eccezioni per QA Advisor
Eccezioni da aggiungere:
/wp-content/plugins/qa-heatmap-analytics/
jquery
W3 Total Cache
Per W3 Total Cache:
- Vai a Performance > Minify
- In "JS Minify settings":
- Imposta "Minify method" su "Manual"
- Aggiungi jQuery come primo file nella lista
- Aggiungi gli script QA Advisor dopo jQuery
Autoptimize
Con Autoptimize:
- Vai a Impostazioni > Autoptimize
- Scheda "JS, CSS & HTML"
- In "JavaScript Options":
- Deseleziona "Defer JavaScript"
- OPPURE aggiungi eccezioni:
Script da escludere:
wp-includes/js/jquery/jquery.min.js
qa-heatmap-analytics
LiteSpeed Cache
Per LiteSpeed Cache:
- Vai a LiteSpeed Cache > Page Optimization
- Scheda "JS Settings"
- In "JS Defer":
- Disabilita completamente
- OPPURE aggiungi eccezioni per jQuery e QA Advisor
Soluzioni per Temi Personalizzati
Controllo functions.php
Se il tuo tema carica jQuery in modo personalizzato, controlla il file functions.php
:
// PROBLEMA: Caricamento jQuery differito
wp_enqueue_script('jquery', 'path/to/jquery.js', array(), '1.0', true);
// SOLUZIONE: Carica jQuery nell'header (false invece di true)
wp_enqueue_script('jquery', 'path/to/jquery.js', array(), '1.0', false);
Ordine di Caricamento Script
Assicurati che gli script siano caricati nell'ordine corretto:
function theme_scripts() {
// 1. Prima jQuery
wp_enqueue_script('jquery');
// 2. Poi altri script che dipendono da jQuery
wp_enqueue_script('theme-script', 'theme.js', array('jquery'), '1.0', false);
}
add_action('wp_enqueue_scripts', 'theme_scripts');
Configurazione QA Advisor
Modalità Compatibilità
QA Advisor offre una modalità compatibilità per ambienti problematici:
- Vai a QA Advisor > Impostazioni
- Scheda "Avanzate"
- Abilita "Modalità Compatibilità jQuery"
- Salva le impostazioni
Caricamento Forzato jQuery
Se necessario, puoi forzare QA Advisor a caricare la propria copia di jQuery:
// Aggiungi al wp-config.php
define('QAHM_FORCE_JQUERY', true);
Ritardo Inizializzazione
Per siti con caricamento lento, puoi ritardare l'inizializzazione:
// Ritarda inizializzazione di 2 secondi
define('QAHM_INIT_DELAY', 2000);
Test e Verifica
Test Manuale
Dopo aver applicato le correzioni:
- Svuota tutte le cache (plugin, browser, CDN)
- Ricarica la pagina in modalità incognito
- Controlla la console per errori JavaScript
- Testa il tracciamento in tempo reale
Test Automatico
QA Advisor include uno strumento di test:
- Vai a QA Advisor > Strumenti
- Clicca su "Test Compatibilità jQuery"
- Segui le istruzioni per il test automatico
Verifica Funzionalità
Controlla che tutte le funzionalità funzionino:
- ✅ Tracciamento visualizzazioni pagina
- ✅ Registrazione clic per mappe di calore
- ✅ Tracciamento movimenti mouse
- ✅ Funzionalità interfaccia admin
Configurazioni Avanzate
Caricamento Condizionale
Per siti complessi, puoi configurare il caricamento condizionale:
function conditional_jquery_loading() {
// Carica jQuery solo dove necessario
if (is_page() || is_single()) {
wp_enqueue_script('jquery');
}
}
add_action('wp_enqueue_scripts', 'conditional_jquery_loading');
Gestione Conflitti
Per gestire conflitti con altri plugin:
// Risolvi conflitti jQuery
function resolve_jquery_conflicts() {
wp_deregister_script('jquery');
wp_register_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js');
wp_enqueue_script('jquery');
}
add_action('wp_enqueue_scripts', 'resolve_jquery_conflicts', 1);
Monitoraggio Continuo
Log degli Errori
Abilita il logging per monitorare problemi jQuery:
// wp-config.php
define('QAHM_LOG_JQUERY_ERRORS', true);
Notifiche Automatiche
Configura notifiche per errori jQuery:
- Vai a QA Advisor > Impostazioni > Notifiche
- Abilita "Notifiche Errori JavaScript"
- Inserisci il tuo indirizzo email
Risoluzione Problemi Specifici
Errore "$ is not defined"
// Soluzione: Usa jQuery invece di $
jQuery(document).ready(function($) {
// Il tuo codice qui
});
Conflitti con Altri Plugin
- Disattiva temporaneamente altri plugin
- Testa QA Advisor individualmente
- Riattiva i plugin uno alla volta per identificare conflitti
Problemi con CDN
Se utilizzi un CDN per jQuery:
// Forza caricamento locale di jQuery
function force_local_jquery() {
if (!is_admin()) {
wp_deregister_script('jquery');
wp_register_script('jquery', '/wp-includes/js/jquery/jquery.min.js');
wp_enqueue_script('jquery');
}
}
add_action('wp_enqueue_scripts', 'force_local_jquery');
Best Practice
Raccomandazioni Generali
- Non differire jQuery a meno che non sia assolutamente necessario
- Testa sempre dopo modifiche agli script
- Mantieni jQuery aggiornato per sicurezza e compatibilità
- Documenta le modifiche per riferimento futuro
Ordine di Priorità
Quando risolvi problemi jQuery:
- Prima: Disabilita defer per jQuery
- Seconda: Aggiungi eccezioni nei plugin di ottimizzazione
- Terza: Usa modalità compatibilità QA Advisor
- Ultima: Caricamento forzato jQuery
Prossimi Passi
Dopo aver risolto i problemi jQuery:
- Pannello di Controllo - Esplora l'interfaccia
- Vista in Tempo Reale - Verifica il tracciamento
- Mappe di Calore - Inizia l'analisi
Supporto
Per problemi persistenti con jQuery:
- Consulta la FAQ per soluzioni specifiche
- Fornisci dettagli su tema e plugin utilizzati
- Contatta il supporto con log degli errori JavaScript
Una corretta gestione di jQuery è essenziale per il funzionamento ottimale di QA Advisor e per evitare conflitti con altri componenti del sito.