作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在经历一个经典的 JS 案例(在我看来),但经过大量谷歌搜索后,仍然无法找到解决方案。反斜杠在JS中被认为是转义字符,但是当你需要从JS传递windows路径并打印它时你该怎么办?
我使用 eval 是因为我的 java 小程序正在执行代码并在有要评估的字符串时放置位。这就是为什么 eval 是必要的,但是我做了一个例子,如下:
<div id="mainTabs"></div>
<script>
var s = "document.getElementById('mainTabs').innerHTML='\\C\ganye\file.doc'";
eval(s);
</script>
我尝试了双反斜杠,但不起作用,如果有人可以帮助我尽可能少地解决这个问题,我将不胜感激。
最佳答案
因为您使用的是 eval,所以 Javascript 解释器会被调用两次 - 所以您需要四个反斜杠,而不是两个:
var s = "document.getElementById('mainTabs').innerHTML='\\\\\\\\C\\\\ganye\\\\file.doc'";
这会导致 s
设置为:
document.getElementById('mainTabs').innerHTML='\\\\C\\ganye\\file.doc'
因此,innerHTML 设置为:
\\C\ganye\file.doc
这就是你想要的。 (我不确定我是否理解您需要 eval() 的原因,但如果您这样做,这就是解决问题的方法:-)
关于javascript eval 反斜杠在window NT路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3044881/
我是一名优秀的程序员,十分优秀!