0

是否有一个很好的 JavaScript 库可以使用<code>不需要我以任何方式修改 HTML 的标签来格式化和着色突出显示代码?我无法控制 HTML,只能添加外部 JavaScript 代码。当然,我可以添加确实改变 HTML 的外部 JavaScript 代码......但是一个简单的 JavaScript 库来处理所有这些将是理想的。

更新:我目前正在每个页面中执行以下操作以使用 google-code-prettify:

<script>
  var codes = document.getElementsByTagName("code");
  for (var i = 0; i < codes.length; i++) {
    codes[i].className = 'prettyprint';
  }
</script>
<script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js"></script>

我可以使用className +=,但我知道<code>标签不会有任何其他类。

4

1 回答 1

0

您可以很好地使用您自己找到的库(https://code.google.com/p/google-code-prettify/)并使用您的一个小脚本将所需的类添加到每个<code>标签(参见小提琴):

var myFunction = function()
{
  var elements = document.getElementsByTagName("code");
  for (var i = 0; i < elements.length; i++)
  {
    elements[i].className += "prettyprint";
  }
  window.PR.prettyPrint();
}

请注意,要手动调用 prettyPrint,必须使用正确的范围:window.PR.prettyPrint();.

于 2014-04-27T10:22:07.960 回答