Cum pot încărca scripturi externe cu protocol relativ (//ajax.googleapis.com/...)?

24 ian. 2013, 14:51:33
Vizualizări: 21.7K
Voturi: 14

Conform Codex-ului, wp_enqueue_script suportă linkuri externe cu protocol relativ sau protocol agnostic: "Resursele remote pot fi specificate cu un URL agnostic la protocol, de exemplu '//otherdomain.com/js/theirscript.js'."

Dar nu funcționează cum mă așteptam:

wp_enqueue_script('google-maps', '//maps.googleapis.com/maps/api/js?&sensor=false', array(), '3', true);

Output:

<script type='text/javascript' src='http://localhost:25898//maps.googleapis.com/maps/api/js?sensor=false&#038;ver=3'></script>

Observați că URL-ul cu protocol relativ este adăugat la URL-ul site-ului.

0
Toate răspunsurile la întrebare 1
7
18

Codul pe care l-ai postat funcționează corect și rezultă în următoarea ieșire HTML:

<script type='text/javascript' src='//maps.googleapis.com/maps/api/js?sensor=false&#038;ver=3'></script>

Testat pe WordPress 3.5 cu acest fragment de cod:

add_action('wp_enqueue_scripts', 'test');
function test() {
  wp_enqueue_script('google-maps', '//maps.googleapis.com/maps/api/js?&sensor=false', array(), '3', true);
}
24 ian. 2013 15:43:29
Comentarii

Știi dacă aceasta este o noutate în WordPress 3.5?

Michiel van Oosterhout Michiel van Oosterhout
25 ian. 2013 15:12:05

URL-urile relative la protocol au fost adăugate acum 7 luni: http://core.trac.wordpress.org/ticket/16560

Otto Otto
25 ian. 2013 18:25:11

Ok, deci nu este vorba despre versiunea de WordPress pe care o folosesc. Atunci ce ar putea cauza diferența de comportament?

Michiel van Oosterhout Michiel van Oosterhout
28 ian. 2013 11:59:39

Acel cod a fost adăugat acum 7 luni, dar dacă te uiți la ticket, are un milestone 3.5, deci da, probabil este o comportare nouă în 3.5.

Otto Otto
29 ian. 2013 00:13:58

Ah, corect, mă uitam la câmpul 'Version' care era setat la 3.1, dar aceasta este versiunea WordPress la momentul creării ticketului.

Michiel van Oosterhout Michiel van Oosterhout
29 ian. 2013 14:09:32

Cred că această problemă apare în 3.3.1. Tocmai am avut aceeași problemă, actualizarea la ultima versiune a rezolvat-o.

John B John B
6 feb. 2014 03:26:58

Cu siguranță apare în versiunea 3.3.1, deoarece suportul pentru protocoale relative nu a fost adăugat decât în versiunea 3.5. Rulează întotdeauna cea mai recentă versiune.

Otto Otto
6 feb. 2014 06:38:53
Arată celelalte 2 comentarii