Javascript窗口.提示包含反斜杠的变量
Javascript window.prompt with variable containing backslashes
我有一个页面的超链接(自然)是由SQL表构建的,但一些超链接实际上是网络资源(即'server'path)。对于这些,我设置了一个jQuery语句来查找它们并将这些<a href>
标记替换为<a onclick='window.prompt...>
,以便网络位置将在提示的文本框中,然后用户可以将其复制并粘贴到Windows资源管理器中。问题是,所有的反斜杠都被删除了。我知道你通常必须用双反斜杠转义它们,我不是手动输入路径,它们来自SQL表,我使用变量将它们放入提示符中。有人知道有解决办法吗?
else if (($link.length > 0) && ($link.substring(0, 4) != "http")) {
$('.linktext', $this.closest('tr')).after("<span><a href='#link' onclick='window.prompt('"This resource is located on a network drive and is not accessible via the web browser. Please copy the link and paste into Windows Explorer.'",'""+$link+"'");'>Text</a></span>");
}
提示符工作,但文本区域看起来就像这样'serverfolder1folder2file.ext
用两个反斜杠代替一个:''server''path
。
JavaScript字符串/正则表达式中的反斜杠具有转义字符的特殊含义:
var stringWithNewLine = "This
doesn't work"; //Error
var stringWithNewLine = "This'ndoes work"; //Escaped new-line feed.
mysql_real_escape_string()
是您的解决方案。
echo mysql_real_escape_string("hello'world");
输出hello''world
因此,在将服务器值传递回客户端之前,只需转义它们。
我只是想到了一个简单的解决方案,可以在从SQL加载URL值后"转义"URL值。这样我就可以有选择地锁定要转义的内容,并保留正常的http URL:
else if (($link.length > 0) && ($link.substring(0, 4) != "http")) {
$linkescaped = $link.replace(/''/g, "''''");
$('.filter', $this.closest('tr')).after("<span><a href='#link' onclick='window.prompt('"This resource is located on a network drive and is not accessible via the web browser. Please copy the link and paste into Windows Explorer.'",'""+$linkescaped+"'");'></a></span>");
}
相关文章:
- 如何存储包含反斜杠的字符串(无需手动双转义)
- Javascript变量包含特殊字符
- 在javascript中解析Json中的键包含反斜杠
- Javascript:一个变量包含值,但Firebug说它是空的
- PHP 变量包含 HTML 和 JavaScript.通过JavaScript将其注入HTML不起作用
- 如何使用 AJAX 将包含反斜杠和正斜杠的字符串从 PHP 查询页面传递回 JavaScript
- 如何在初始化新数组时使用变量(包含数组形式的文本)
- 在客户端上从 Meteor.call 获取未定义,但在服务器上变量包含数据
- jQuery 变量包含 “ 和 '
- JavaScript 字符串拆分为包含反斜杠的字符串
- 使用Chrome Devtools查找哪个变量包含一个值
- 变量包含值,但在操作中它们等于NULL
- 检查是否有多个变量包含null
- 根据变量包含svg代码
- 解析数据从js变量包含html
- 将包含反斜杠的字符串解析为json
- 如何防止链时,添加javascript变量包含数字
- Javascript字符串计算从PHP变量包含数学表达式(但实际上是一个日期)
- 如果变量包含两个单词,则删除并替换它
- Javascript窗口.提示包含反斜杠的变量