在VS 2010中使用HTML代码段“脚本”时,我得到:
<script type="text/javascript"> </script>
我希望该代码段能够呈现以下结果:
<script type="text/javascript">
//<![CDATA[
//]]>
</script>
我已经查看了.snippet文件并找到了以下“Code”元素:
<Code Language="html"><![CDATA[<script type="text/javascript">$selected$$end$</script>]]></Code>
并且我意识到让它工作可能有点棘手,即这不会:
<Code Language="html"><![CDATA[<script type="text/javascript">
//<![CDATA[
$selected$$end$
//]]>
</script>]]></Code>
有没有比我更多XML知识的人知道这是否可行?
答案 0 :(得分:2)
我在你的代码片段中找到了你正在寻找的解决方案。
&lt; Code Language =“html”&gt;
&lt;![CDATA [&lt; script type =“text / javascript”&gt;
&LT;![CDATA [
$ $选择]] $结束$&GT;
&LT; /脚本&GT;]]&GT;&LT; /代码&GT;
答案 1 :(得分:0)
来自w3schools:Nested CDATA sections are not allowed.
但这是一个有趣的问题。
修改强> 以下内容适用于xml(代码段)方面,但我不确定浏览器将如何解释结果:
<Code Language="html"><![CDATA[<script type="text/javascript">
//<![CDATA[
$selected$$end$
//]]/>
</script>]]></Code>
(注意关闭插入符号之前的斜线)
这将产生以下输出:
<script type="text/javascript">
//<![CDATA[
//]]/>
</script>
这可能是你想要试验的东西;正如我所说,我不确定最终会如何对待它。
答案 2 :(得分:0)
为了在VS片段代码元素中呈现CDATA部分,您需要放弃通常使用的Code元素的CDATA部分并转义整个内容。如果您尝试仅对第一部分进行编码,则代码段引擎会识别第一个未转义的CDATA部分,并且不会对其进行渲染。
在您的情况下,代码段代码元素应如下所示(假设您定义了$ script $参数):
<Code Language="html">
<script type="text/javascript">
//<![CDATA[
$script$
//]]>
</script>
</Code>
这将产生以下结果
<script type="text/javascript">
//<![CDATA[
script goes here
//]]>
</script>