我的CMS使用代码美化来进行语法高亮显示
只有10%的网页有代码并使用预标记
<pre class="prettyprint">
用于语法高亮。
但是在所有页面上加载了prettify.js并增加了加载时间
是否可以根据代码中预标记的存在有条件地加载prettify.js?
答案 0 :(得分:0)
此代码将完成工作。检查pre元素是否在范围内。如果是这样,那么将脚本添加到头部。
$(document).ready(function () {
if($('pre').length){
$('head').append('<script src="pretify.js></script>');
});
});
如果你想基于类而不是html元素那样做,那么你将不得不使用.classname而不是元素名本身。
$(document).ready(function () {
if($('.prettyclass').length){
$('head').append('<script src="pretify.js></script>');
});
});
答案 1 :(得分:0)
如果您将其添加到所有<pre>
标记下方并将<path>
通配符替换为真实地址,则可以执行此操作。
<script type="text/javascript">
if (document.querySelectorAll("pre.prettyprint").length > 0) {
var script = document.createElement("script");
script.src = "<path>/prettify.js";
document.head.appendChild(script);
}
</script>