1

JavaScript 内に URL を記述する必要がありますが、 & 記号に & を記述すべきかどうかわかりません。

<script type="text/javascript">
<![CDATA[
 var link = 'http://example.com/query?id=1' . '&ref=' . document.referrer;
 ]]></script>

または

<script type="text/javascript">
<![CDATA[
 var link = 'http://example.com/query?id=1' . '&amp;ref=' . document.referrer;
 ]]></script>
4

2 に答える 2

4

内部CDATAでは、エスケープ&する必要はなく、結果の URL でエスケープされるべきではないため、最初のものは正しいです。

于 2011-06-01T12:32:32.680 に答える
2

正しいだろう

<script type="text/javascript">
<![CDATA[
 var link = 'http://example.com/query?id=1' + '&ref=' + encodeURIComponent(document.referrer);
]]></script>

CDATA セクションで XML エスケープ文字を使用しないでください。それがそもそもそれらを使用する全体のポイントです。

ただし、忘れた URL エンコーディングに注意してください。また、JavaScript 文字列連結は+ではなくで機能し.ます。

于 2011-06-01T12:34:36.243 に答える