1

私はこのサイトをfirebugで調べていました。ページのセクションの3番目の<script/>タグの中headに、次のように宣言されたオブジェクト変数が見つかりました(ただし、ここでは切り捨てられています)。

var EM={
"ajaxurl":"http:\/\/ipsos.com.au\/wp-admin\/admin-ajax.php",

"bookingajaxurl":"http:\/\/ipsos.com.au\/wp-admin\/admin-ajax.php",

"locationajaxurl":"http:\/\/ipsos.com.au\/wp-admin\/admin-ajax.php?action=locations_search",

"firstDay":"1","locale":"en"};

変数の効用は私にはわかりません。私を驚かせたのは、そこに提示されている3つのURLです。なぜバックスラッシュがそこにあるのですか?それは次のようなものではありませんでした:

"ajaxurl":" http://ipsos.com.au/wp-admin/admin-ajax.php "

4

3 に答える 3

5

スクリプト要素には、要素を終了するさまざまな文字シーケンス(HTMLのバージョンによって異なります)があります。</script>常にこれを行います。

<\/script>しない。

文字をエスケープ/してもJSの意味は変わりませんが、そのようなHTMLがスクリプトを終了するのを防ぎます。

于 2012-10-03T05:51:48.727 に答える
2

以下の\/\/シナリオを回避するためです

。URLが次のように"ajaxurl" : "http://google.com/search?q=</script>"

なったら、ブラウザのアドレスバーにURLをコピーして貼り付けてみてください。これは正しく処理されます。そうしないと、スクリプトエラーが発生し、ページが期待どおりに機能しない可能性があります。

DOMマニピュレータがスクリプトタグのsrc属性にある値を置き換え、次にjavascriptエンジンが複数のエラーを報告することを想像してください。これは、参照される特定のスクリプトが誤って定義されたsrc値のためにロードされない可能性があるため
です。
これらのlilのものがなければ人生は忙しいでしょう

于 2012-10-03T06:47:23.213 に答える
0

文字をエスケープするために使用されます。

バックスラッシュ()を使用して、アポストロフィ、新しい行、引用符、およびその他の特殊文字を文字列に挿入できます。

var str = " Hello "World" !! ";
alert(str)

これは機能しません。

あなたは最初にそれらを脱出する必要があります

var str = " Hello \"World\" !! ";
alert(str) ; \\ This works

Javascriptに関しては/ and <\/、文字列内で同一です。HTMLに関する限り</、終了タグを開始しますが、開始<\/しません。

于 2012-10-03T05:50:51.427 に答える