【发布时间】:2011-01-01 12:41:05
【问题描述】:
我正在从数据库中输出值(它并没有真正向公众开放,但它对公司的用户开放——也就是说,我不担心XSS)。
我正在尝试输出这样的标签:
<a href="" onclick="DoEdit('DESCRIPTION');">Click Me</a>
DESCRIPTION 实际上是来自数据库的一个值,类似于:
Prelim Assess "Mini" Report
我尝试将“替换为\”,但无论我尝试什么,Firefox 都会在 Assess 之后的空格后切断我的 JavaScript 调用,这会导致各种问题.
我一定错过了明显的答案,但我这辈子都想不通。
有人愿意指出我的愚蠢吗?
这是整个 HTML 页面(最终将是一个ASP.NET 页面,但为了解决这个问题,我取出了除问题代码之外的所有内容)
<html>
<body>
<a href="#" onclick="DoEdit('Preliminary Assessment \"Mini\"'); return false;">edit</a>
</body>
</html>
【问题讨论】:
-
最好让您的
onclick事件附件不引人注目,并将您的所有数据库信息移动到一个数据岛中。事情会更干净,当您的字符串转义错误时,您实际上会遇到某种语法错误。 -
也可以使用escape("string") 和unescape("string") jquery方法
标签: javascript quotes escaping