2017-04-12 75 views
0

前标签我有CMS使用代码美化为语法高亮的网页条件加载JS - 如果在内容

只有10%的代码,并使用预先标记

<pre class="prettyprint"> 

语法高亮显示。

但prettify.js被装载上的所有网页,并增加了加载时间

是可以根据代码预标签的存在有条件负荷prettify.js?

+0

是的,简单。检查是否有class prettyprint,通过附加脚本标签加载脚本手动初始化相纸。 – dfsq

回答

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>'); 
       }); 
      }); 
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>