我正在尝试在网站上放置代码/代码段(HTML5 / ASP.NET,CSS3,Javascript和C#),而不会出现浏览器错误。我认为html5 code
元素会导致浏览器忽略打开和关闭标记之间的文本,并将其呈现为文本,但事实并非如此。
有什么想法吗?
答案 0 :(得分:0)
使用预标签
<pre>
if ($(this).hasClass('next-product')) {
if (actualIndex === fancyImages.length - 1) {
actualIndex = 0;
} else {
actualIndex++;
}
$.fancybox.next();
} else {
if (actualIndex === 0) {
actualIndex = fancyImages.length - 1;
} else {
actualIndex--;
}
$.fancybox.prev();
}
</pre>
如果您想要显示html实体,那么这适用于任何代码,那么您必须替换“&gt;”和“&lt;” programmatycally with“&amp; gt”和“&amp; lt”。
答案 1 :(得分:0)
<pre>
和<code>
等HTML标记在很多情况下起作用,您必须使用<
和>
管理<
>
等字符。
除此之外,如果你正在寻找一个插件,你可以Syntax Highlighter,为不同编程语言的片段工作。
答案 2 :(得分:-1)
通常的方法是将<
替换为<
,即等效的实体,以使标记无效,从而避免浏览器解析它。
您不必手动执行此操作;您可以通过您正在使用的任何语言在全球替换基础上执行此操作。例如,使用JavaScript。
HTML:
<code>
<div>Please don't parse this as a DIV, browser</div>
</code>
JavaScript(和jQuery,为简洁起见):
$(function() {
$('code').each(function() {
$(this).html($(this).html().replace(/</g, ' '));
});
});
在DOM中,这将导致:
<div>Please don't parse this as a DIV, browser</div>
...意味着用户将看到代码,而不是其解析的等价物。