JavaScript inclus dar funcția alert() nu funcționează

3 dec. 2012, 17:53:49
Vizualizări: 17.8K
Voturi: 0

Am inclus JavaScript-ul prin

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

cu un simplu

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

Apare în browser dar nu afișează mesajul "alert".

PS: Am uitat să menționez că am inclus și jQuery, dar tot nu funcționează.

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');

Pe lângă răspunsurile oferite, a trebuit să-i spun WordPress-ului că scriptul meu depinde de jQuery

wp_enqueue_script( 'slider', plugins_url( 'slider.js', __FILE__ ),array('jquery') );
0
Toate răspunsurile la întrebare 3
0

Câteva lucruri importante:

  1. Versiunea de jQuery care vine cu WordPress rulează în modul noConflict(). Aceasta înseamnă că trebuie să folosești jQuery în loc de $ la prima referință.
  2. Nu înregistra propria versiune de jQuery atunci când dezvolți. Astfel te limitezi la o singură versiune care poate fi sau nu compatibilă cu alte cerințe ale WordPress.
  3. Poți folosi consola browserului pentru a testa. Deschide pagina și apasă F12 pentru a lansa consola. Tastează jQuery în consolă și verifică dacă returnează obiectul corect.
3 dec. 2012 17:59:31
0

WordPress încarcă jQuery în modul "No Conflict". Aliasul $ nu funcționează. Folosește jQuery.(document) sau încadrează-ți codul astfel...

(function($) { 
  $(function() {
    // cod suplimentar folosind $ ca alias pentru jQuery
  });
})(jQuery);
3 dec. 2012 17:59:40
0

Este util să verificați conform declarației Bootstrap .js dacă este necesar (după jQuery), adică:

<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 iul. 2017 15:57:51