2012-02-20 9 views
7

Znalezienie trudności w renderowaniu '&' przy użyciu silnika Jade. muszę zatelefonować do Google Maps stosując następujący ciąg: script(type='text/javascript', src='http://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=SET_TO_TRUE_OR_FALSE')Jak usunąć unescape "&" w Jade

Ale to będzie renderowany w Jade jak: src="http://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=SET_TO_TRUE_OR_FALSE

Odpowiedz

-3

& sposób można reprezentować "ampersand" w HTML. & oznacza "Początek odniesienia do znaku".

Twoje bieżące dane wyjściowe są poprawne i będą działać (chyba że coś else jest z nim nie tak). Próbujesz utworzyć nieprawidłowy kod, który zależy od przeglądarek, aby wykonać odzyskiwanie po błędzie.

+1

Dzięki za odpowiedź. Właśnie wprowadziłem zmiany do pierwotnego pytania. Muszę zadzwonić do mapy Google za pomocą "&", a nie "&Amp;". Bieżące dane wyjściowe nie są rozpoznawane przez Google. – ngzhongcai

+0

@ngzhongcai - Ty ** dzwonisz do Google Maps za pomocą 'i'. '&' to sposób, w jaki mówisz przeglądarce, aby umieściła gdzieś znak '&'. – Quentin

+0

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

0

Jeśli ktoś nadal potrzebuje obejścia tego problemu; mogą przeczytać here.

Tak, moim obejściem tego problemu jest użycie zwykłych znaczników skryptu. Oto zawartość pliku 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

Wciąż według https://github.com/visionmedia/jade/issues/198 możliwe jest teraz napisać:

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

Zanotować != dla src argumentu; w ten sposób jego treść nie jest uciekła.