Javascript incluso ma la funzione alert() non funziona

3 dic 2012, 17:53:49
Visualizzazioni: 17.8K
Voti: 0

Ho incluso il javascript tramite

wp_enqueue_script('slider', plugins_url( 'slider.js', __FILE__ ) );

con un semplice

$(document).ready(function () {
    alert("alert");
});

Viene visualizzato nel browser ma non mi mostra l'"alert".

PS: Ho dimenticato di dire che ho incluso anche jquery, ma ancora non funziona.

wp_deregister_script('jquery');
wp_register_script('jquery', "http" . ($_SERVER['SERVER_PORT'] == 443 ? "s" : "") . "://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js", false, null);
wp_enqueue_script('jquery');

Oltre alle risposte, ho anche dovuto dire a WordPress che il mio script dipende da jQuery

wp_enqueue_script( 'slider', plugins_url( 'slider.js', __FILE__ ),array('jquery') );
0
Tutte le risposte alla domanda 3
0

Alcune cose da tenere a mente:

  1. La versione di jQuery inclusa in WordPress viene eseguita in modalità noConflict(). Ciò significa che devi utilizzare jQuery invece di $ quando fai il primo riferimento.
  2. Non registrare la tua versione di jQuery durante lo sviluppo. Stai vincolando te stesso a una singola versione che potrebbe non essere compatibile con gli altri requisiti di WordPress.
  3. Puoi utilizzare la console del browser per testare. Apri la tua pagina, premi F12 per aprire la console. Digita jQuery nella console e verifica se restituisce l'oggetto corretto.
3 dic 2012 17:59:31
0

WordPress carica jQuery in modalità "No Conflict". L'alias $ non funziona. Utilizza jQuery.(document) oppure incapsula il tuo codice così...

(function($) { 
  $(function() {
    // altro codice che utilizza $ come alias per jQuery
  });
})(jQuery);
3 dic 2012 17:59:40
0

Vale la pena verificare la dichiarazione di Bootstrap .js secondo le necessità (dopo jQuery), ad esempio:

<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
25 lug 2017 15:57:51