2012-02-20 10 views
7

翡翠エンジンを使用して '&'をレンダリングする際の難易度を見つける。 script(type='text/javascript', src='http://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=SET_TO_TRUE_OR_FALSE')翡翠で '&'をエスケープする方法

しかし、これはとジェイドにレンダリングされます:私は次の文字列を使用してGoogleマップへの呼び出しを行う必要があり src="http://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=SET_TO_TRUE_OR_FALSE

答えて

-3

&は、HTMLで「アンパサンド」を表す方法です。 &は「文字参照の開始」を意味します。

あなたの現在の出力は正しいです(何か、それ以外の場合はが間違っていない限り)。エラー回復を実行するブラウザに依存する無効なコードを生成しようとしています。

+1

返信いただきありがとうございます。私はちょうど元の質問にいくつかの変更を加えました。 「&Amp;」ではなく、「&」を使用してGoogleマップに電話する必要があります。現在の出力はGoogleによって認識されません。 – ngzhongcai

+0

@ngzhongcai - あなたは** Google Mapsを '&'で呼びます。 '&'は '&'文字をどこかに置くようブラウザに指示する方法です。 – Quentin

+0

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

0

誰かがまだこれに対処する必要がある場合。彼らはhereを読むことができます。

私の回避策はプレーンスクリプトタグを使用することです。翡翠ファイルの内容は次のとおりです。

!!! 
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

はまだhttps://github.com/visionmedia/jade/issues/198によると、書くことができるようになりました:

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

src引数の!=。したがって、そのコンテンツはエスケープされません。