问题描述
|
当由浏览器创建时,此多行字符串具有预期的长度:
<script type=\"text/javascript\">
var s = \"\\
a\";
document.write(s.length);
</script>
输出5
但是,当作为ASP服务器端脚本执行时,它会输出1:
<%@ Language=JavaScript %>
<%
var s = \"\\
a\";
Response.Write(s.length);
%>
发生的事情是,当在多行字符串中使用Java的ASP版本时,它正在占用领先的空格。
如何使ASP版本的行为与浏览器版本相同?
解决方法
如果在行首包含include2ѭ,则asp会识别空白。
<%@ Language=JavaScript %>
<%
var s = \"\\
\\ a\";
Response.Write(s.length);
%>
我对使用ѭ2字符创建多行字符串不熟悉。整洁的东西,但是我找不到关于它的文档。我想这只是在逃脱换行符吗?您是否有参考链接?
另外,此代码:
<pre>
<%
var s = \"\\
unescaped\";
Response.Write(s);
Response.Write(\"\\n\");
s = \"\\
\\ escaped\";
Response.Write(s);
%>
</pre>
给出以下输出:
unescaped
escaped
,如果您尝试在html中看到多个空格,请注意,呈现html时多个空格将被折叠。当html输出中需要不间断空格时,请使用ѭ7。