Xhtml写URL,哪一个是正确的?

发布于 2024-11-11 15:15:01 字数 431 浏览 3 评论 0原文

我需要在 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>

I need to write a url within a javascript, but do not know if I should write & for & symbol.

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

Or

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

风柔一江水 2024-11-18 15:15:01

CDATA 内部,不需要转义 & 并且它不应该在生成的 URL 中转义,因此第一个是正确的。

Inside CDATA, there's no need to escape & and it should not be escaped in the resulting URL, so the first one is correct.

您的好友蓝忘机已上羡 2024-11-18 15:15:01

正确的做法是

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

You can not not 在 CDATA 部分中对 XML 转义字符进行转义。这就是首先使用它们的全部要点

但请注意您忘记的 URL 编码。 JavaScript 字符串连接适用于 +,而不是 .

Correct would be

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

You must not XML-escape characters in CDATA sections. That's the whole point of using them in the first place.

But note the URL-encoding that you forgot. And JavaScript string concatenation works with +, not ..

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文