Xhtml написать URL, какой из них правильный? - PullRequest
1 голос
/ 01 июня 2011

Мне нужно написать URL в javascript, но я не знаю, должен ли я написать & для & символа.

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

Ответы [ 2 ]

4 голосов
/ 01 июня 2011

Внутри CDATA, нет необходимости экранировать &, и его нельзя экранировать в результирующем URL, поэтому первый из них правильный.

2 голосов
/ 01 июня 2011

Правильно будет

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

Вы не должны использовать escape-символы XML в разделах CDATA. Вот и весь смысл использования их в первую очередь.

Но обратите внимание на кодировку URL, которую вы забыли. И конкатенация строк JavaScript работает с +, а не ..

...