2012-02-20 12 views
7

Encontrar alguna dificultad renderizando '&' usando el motor de Jade. Tengo que hacer una llamada a Google Maps mediante la siguiente cadena: script(type='text/javascript', src='http://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=SET_TO_TRUE_OR_FALSE')Cómo deshacer '&' en Jade

pero esto será dictada en Jade como: src="http://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=SET_TO_TRUE_OR_FALSE

Respuesta

-3

& es la forma de representar "un símbolo de unión" en HTML. & significa "Inicio de una referencia de personaje".

Su salida actual es correcta y funcionará (a menos que algo else esté mal con ella). Está intentando generar un código no válido que depende de los navegadores para realizar la recuperación de errores.

+1

Gracias por la respuesta. Acabo de hacer algunos cambios a la pregunta original. Necesito llamar al mapa de Google usando "&", y no "&Amp;". El producto actual no es reconocido por Google. – ngzhongcai

+0

@ngzhongcai: ** estás ** llamando a Google Maps con '&'. '&' es como le dices al navegador que coloque un caracter '&' en alguna parte. – Quentin

+0

https://github.com/visionmedia/jade/issues/198 – ngzhongcai

0

En caso de que alguien todavía necesite una solución a esto; ellos pueden leer here.

Por lo tanto, mi solución a esto es solo utilizar etiquetas de script sin formato. Aquí está el contenido del archivo de jade.

!!! 
html 
head 
    link(rel='stylesheet', href='/stylesheets/test.css') 
    <script src="http://maps.googleapis.com/maps/api/js?key=API_KEY&sensor=false"></script> 

    script(src='/javascripts/test.js') 

body 
    button(onclick='initialize()') Click Me! 
    div#map_canvas 
10

Siempre según https://github.com/visionmedia/jade/issues/198 Ahora es posible escribir:

script(type='text/javascript', src!='http://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=SET_TO_TRUE_OR_FALSE') 

Nota del != para el argumento src; por lo tanto, su contenido no se escapa.