SyntaxHighlighter-Autoloader(自动加载)

因为使用SyntaxHighlighter的时候会使用到多种语言,一次必载入全部的语言配置文件下载的东西会比较多,所以SyntaxHighlighter提供了一个shAutoloader.js脚本。本站正在使用,本站代码如下:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

<script type="text/javascript" src="/Themes/BootStrap/scripts/Syntaxhighlighter/scripts/shCore.js"></script>

<script type="text/javascript" src="/Themes/BootStrap/scripts/Syntaxhighlighter/scripts/shAutoloader.js"></script>

<link type="text/css" rel="stylesheet" href="/Themes/BootStrap/scripts/Syntaxhighlighter/styles/shCoreDefault.css"/>

<script type="text/javascript">

    function path() {

        var args = arguments,

        result = [];

        for (var i = 0; i < args.length; i++)

            result.push(args[i].replace(‘$‘‘/Themes/BootStrap/scripts/Syntaxhighlighter/scripts/‘));

        return result

    }

    $(function () {

        SyntaxHighlighter.autoloader.apply(null, path(

            ‘applescript            $shBrushAppleScript.js‘,

            ‘actionscript3 as3      $shBrushAS3.js‘,

            ‘bash shell             $shBrushBash.js‘,

            ‘coldfusion cf          $shBrushColdFusion.js‘,

            ‘cpp c                  $shBrushCpp.js‘,

            ‘c# c-sharp csharp      $shBrushCSharp.js‘,

            ‘css                    $shBrushCss.js‘,

            ‘delphi pascal          $shBrushDelphi.js‘,

            ‘diff patch pas         $shBrushDiff.js‘,

            ‘erl erlang             $shBrushErlang.js‘,

            ‘groovy                 $shBrushGroovy.js‘,

            ‘java                   $shBrushJava.js‘,

            ‘jfx javafx             $shBrushJavaFX.js‘,

            ‘js jscript javascript  $shBrushJScript.js‘,

            ‘perl pl                $shBrushPerl.js‘,

            ‘php                    $shBrushPhp.js‘,

            ‘text plain             $shBrushPlain.js‘,

            ‘py python              $shBrushPython.js‘,

            ‘ruby rails ror rb      $shBrushRuby.js‘,

            ‘sass scss              $shBrushSass.js‘,

            ‘scala                  $shBrushScala.js‘,

            ‘sql                    $shBrushSql.js‘,

            ‘vb vbnet               $shBrushVb.js‘,

            ‘xml xhtml xslt html    $shBrushXml.js‘

        ));

        SyntaxHighlighter.all();

    }

</script>

但文章详细页面经常不会有任何代码,所以这些js文件以及js代码需要判断是否执行:


1

2

3

4

5

6

7

//判断文章是否需要加载代码高亮插件

var isCode = Model.Html.ToString().Contains("<pre class=\"brush:");

@{

    if(isCode){

        //这里放置上面的js文件链接以及js代码。

    }

}

本文来自:http://www.itdos.com/JavaScript/20150303/0135261.html 转载请保留此文字,谢谢!

时间: 2025-01-08 17:37:44

SyntaxHighlighter-Autoloader(自动加载)的相关文章

PHP7 学习笔记(四)PHP PSR-4 Autoloader 自动加载

参考文献: 1.PHP PSR-4 Autoloader 自动加载(中文版) 2.PHP编码规范(中文版)导读 3.PHP-PSR-[0-4]代码规范

PSR-4 Autoloader 自动加载(中文版)

原文网址:http://segmentfault.com/a/1190000002521658 Autoloader 关键词 “必须”("MUST").“一定不可/一定不能”("MUST NOT").“需要”("REQUIRED").“将会”("SHALL").“不会”("SHALL NOT").“应该”("SHOULD").“不该”("SHOULD NOT").“推

Yii2的深入学习--自动加载机制

Yii2 的自动加载分两部分,一部分是 Composer 的自动加载机制,另一部分是 Yii2 框架自身的自动加载机制. Composer自动加载 对于库的自动加载信息,Composer 生成了一个 vendor/autoload.php 文件.你可以简单的引入这个文件,你会得到一个自动加载的支持. 在之前的文章,入口文件的介绍中,我们可以看到如下内容: // 引入 vendor 中的 autoload.php 文件,会基于 composer 的机制自动加载类 require(__DIR__ .

Phalcon自动加载(PHP自动加载)

自动加载(phalcon\Loader) 转载请注明来源 一.php文件引入 通过 include() 或 require() 函数,可以在PHP程序执行之前在该文件中插入一个文件的内容. 区别:处理错误的方式不同.include() 函数会生成一个警告(但是脚本会继续执行),而 require() 函数会生成一个致命错误(fatal error)(在错误发生后脚本会停止执行) * 正因为在文件不存在或被重命名后脚本不会继续执行,因此我们推荐使用 require() 而不是 include().

优雅的 laravel(1)- Composer概述及其自动加载探秘

刚开始接触laravel,一天时间走马观花的看了一些官方文档之后便开始了laravel的学习.这里谈到的都是最基础的东西,各路大神,可直接略过. composer概述 一开始,最吸引我的当属 Composer 了,因为之前从没用过 Composer . Composer 是PHP中用来管理依赖关系的工具,你只需在自己的项目中声明所依赖的外部工具库,Composer就会帮你安装这些依赖的库文件.运行 Composer 需要 PHP 5.3.2+ 以上版本. 使用composer 第一步,声明依赖关

Composer中的自动加载

Composer是PHP的一个包依赖管理工具,类似Ruby中的RubyGems或者Node中的NPM,它并非官方,但现在已经非常流行.此文并不介绍如何使用Composer,而是关注于它的autoload的内容吧. 举例来说,假设我们的项目想要使用monolog这个日志工具,就需要在composer.json里告诉composer我们需要它: { "require": { "monolog/monolog": "1.*" } } 之后执行: php

Phalcon 的 bootstrap.php 自动加载完成;非常人性化的设计

<?php /** * Bootstraps the application */ use Phalcon\DI\FactoryDefault as PhDi, Phalcon\Config as PhConfig, Phalcon\Session\Adapter\Files as PhSession, Phalcon\Loader as PhLoader, Phalcon\Mvc\Url as PhUrl, Phalcon\Mvc\Router as PhRouter, Phalcon\Db\

PSR-4 自动加载规范

关键词 "必须"("MUST")."一定不可/一定不能"("MUST NOT")."需要"("REQUIRED"). "将会"("SHALL")."不会"("SHALL NOT")."应该"("SHOULD")."不该"("SHOULD N

Yii2的深入学习--自动加载机制(转)

Yii2 的自动加载分两部分,一部分是 Composer 的自动加载机制,另一部分是 Yii2 框架自身的自动加载机制. Composer自动加载 对于库的自动加载信息,Composer 生成了一个 vendor/autoload.php 文件.你可以简单的引入这个文件,你会得到一个自动加载的支持. 在之前的文章,入口文件的介绍中,我们可以看到如下内容: // 引入 vendor 中的 autoload.php 文件,会基于 composer 的机制自动加载类 require(__DIR__ .

phpexcel的自动加载与其他框架有冲突

一直想用PHPEXCEL,这次这个项目遇到了.然而坑也出来了.phpexcel的Autoloader.php里面 public static function Register() {    /* if (function_exists('__autoload')) {         //    Register any existing autoloader function with SPL, so we don't get any clashes         spl_autoload