¿Cómo puedo encolar scripts externos con protocolo relativo (//ajax.googleapis.com/...)?

24 ene 2013, 14:51:33
Vistas: 21.7K
Votos: 14

Según el Codex, wp_enqueue_script soporta enlaces externos con protocolo relativo o protocolo agnóstico: "Los recursos remotos pueden especificarse con una URL agnóstica al protocolo, es decir, '//otherdomain.com/js/theirscript.js'."

Pero no lo estoy viendo funcionar:

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

Salida:

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

Nota que la URL con protocolo relativo se añade a la URL del sitio.

0
Todas las respuestas a la pregunta 1
7
18

El código que publicaste funciona correctamente y resulta en esto en la salida HTML:

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

Probado en WordPress 3.5 con este fragmento de código:

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 ene 2013 15:43:29
Comentarios

¿Sabes si esto es nuevo en WordPress 3.5?

Michiel van Oosterhout Michiel van Oosterhout
25 ene 2013 15:12:05

Las URLs relativas al protocolo se añadieron hace 7 meses: http://core.trac.wordpress.org/ticket/16560

Otto Otto
25 ene 2013 18:25:11

Vale, entonces no es la versión de WordPress que estoy usando. ¿Qué podría causar la diferencia en el comportamiento?

Michiel van Oosterhout Michiel van Oosterhout
28 ene 2013 11:59:39

Bueno, ese código fue agregado hace 7 meses, pero si miras el ticket, tiene un hito de la versión 3.5, así que sí, probablemente sea un comportamiento nuevo en la 3.5.

Otto Otto
29 ene 2013 00:13:58

Ah cierto, estaba mirando el campo 'Versión' que estaba establecido en 3.1, pero esa es la versión de WordPress en el momento en que se creó el ticket.

Michiel van Oosterhout Michiel van Oosterhout
29 ene 2013 14:09:32

Creo que este problema ocurre en la versión 3.3.1. Acabo de tener el mismo problema, actualizar a la última versión lo solucionó.

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

Definitivamente ocurre en la versión 3.3.1, porque el soporte para protocolos relativos no se agregó hasta la versión 3.5. Ejecuta siempre la última versión.

Otto Otto
6 feb 2014 06:38:53
Mostrar los 2 comentarios restantes