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 回答