最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

代碼塊高亮可復制顯示js插件highlight.js+clipboard.js整合

 更新時間:2021年02月15日 23:58:34   作者:我是小H呀  
最近有個需求是將jsp頁面上的某一段代碼塊格式化成類似CSDN的代碼塊的樣式,而且很多平臺都使用了這樣的功能,下面就為大家簡單分享一下

主要從兩個方面入手了:

1.高亮顯示/換行

2.復制代碼按鈕

這兩方面都有現成的插件。

代碼高亮插件——highlight.js

1.下載highlight的js文件。

https://highlightjs.org/

點擊get version按鈕進入語言選擇

勾選常用語言,通常common就足夠用了。

點擊download,下載,解壓,里面會有js文件和css文件。

js文件決定哪些部分高亮,css決定代碼顏色

2.在解壓后的文件里找到一個highlight.pack.js文件,在使用時導入這個js文件。

<script src="js/jquery-3.1.1.js"></script> 
<script src="js/highlight.pack.js"></script>

3.打開里面的styles文件,里面有很多的css文件。這些文件可以更改你的展示代碼的css樣式,包括高亮的顏色和背景色(主題色)。

在使用時想使用那種樣式只需要導入這個樣式的css文件即可??床欢@些英文都代表的什么樣式?這個網址有各個css文件的效果展示:https://highlightjs.org/static/demo/

這里我選擇了一個dark.css文件:

<link rel="stylesheet" type="text/css" href="css/dark.css" rel="external nofollow" />

導入js文件和css文件后然后就可以使用了。

在使用時,一定要將你要展示的代碼包在<pre><code></code></pre>標簽里!?。?/p>

如果你的代碼里包含標簽,記得將標簽的"<"換成"&lt",把">"換成"&gt"

復制插件——clipboard.js

        一開始想直接使用execCommand實現復制,代碼如下。結果復制到的內容沒有換行空格等相關的格式,且有兼容性問題,在找了大量插件的過程中采用了現成的復制插件clipboard.js,能夠較方便快捷的實現功能。

<script type="text/javascript">
function copyLink(){
var e = document.getElementById("copy");
e.select(); // 選擇對象
document.execCommand("Copy"); // 執(zhí)行瀏覽器復制命令
alert("復制鏈接成功!");
}
</script>

clipboard.js 可以實現純 JS 的從瀏覽器復制文本到系統(tǒng)剪貼板的功能。

使用過程中前端瀏覽器提示了 Clipboard is not defined

一開始以為是未定義或者源碼錯誤,找了半天發(fā)現是引入js文件時路徑有錯誤(今后在使用插件過程中如果有未定義的問題,一定要F12調試看一下有沒有404錯誤)

1. 下載 clipboard.js。clipboard.js 下載地址: https://github.com/zenorocha/clipboard.js

2.引入插件

下載下來的文件clipboard.js-master\clipboard.js-master\demo中可以看到示例,可直接使用

以下是復制id=copyCode 的div使用實例:

1)引入js文件

<script src="${ctx }/styles/js/clipboard.min.js" type="text/javascript" ></script>

2)實例化clipboard對象

<script>
var clipboard = new ClipboardJS('.btn');
clipboard.on('success', function(e) {
   console.log(e);
});
clipboard.on('error', function(e) {
console.log(e);
});
</script>

3)定義復制的按鈕跟內容(注:此處需要給觸發(fā)復制時間的按鈕添加兩個屬性,data-clipboard-action 及 data-clipboard-target,data-clipboard-target的屬性值為目標文本的 id 值)

<div id="copyCode">hello</div>
<button class="btn" data-clipboard-action="copy" data-clipboard-target="#copyCode">Copy</button>

data-clipboard-target 值也可以是標簽,但是如果有多個標簽,會失效,注意。

兩個插件使用過程中沒有沖突,可以較好糅合。

相關文章

  • 微信小程序間使用navigator跳轉傳值問題實例分析

    微信小程序間使用navigator跳轉傳值問題實例分析

    這篇文章主要介紹了微信小程序間使用navigator跳轉傳值問題,結合實例形式分析了微信小程序間使用navigator跳轉傳值過程中遇到的問題與解決方法,需要的朋友可以參考下
    2020-03-03
  • D3.js實現繪制柱狀圖的教程詳解

    D3.js實現繪制柱狀圖的教程詳解

    這篇文章主要為大家詳細介紹了如何通過D3.js實現繪制柱狀圖,文中的示例代碼講解詳細,對我們學習D3.js有一定的幫助,需要的可以參考一下
    2022-11-11
  • 原生js封裝的ajax方法示例

    原生js封裝的ajax方法示例

    這篇文章主要介紹了原生js封裝的ajax方法,結合實例形式分析了JavaScript封裝ajax操作及調用方法相關操作技巧,非常簡單實用,需要的朋友可以參考下
    2018-08-08
  • js模擬淘寶網的多級選擇菜單實現方法

    js模擬淘寶網的多級選擇菜單實現方法

    這篇文章主要介紹了js模擬淘寶網的多級選擇菜單實現方法,涉及javascript針對頁面元素結點的遍歷與設置等操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • js 通用javascript函數庫整理

    js 通用javascript函數庫整理

    js 通用javascript函數庫整理,學習js的朋友可以參考下。
    2011-08-08
  • 獲取焦點時,利用js定時器設定時間執(zhí)行動作

    獲取焦點時,利用js定時器設定時間執(zhí)行動作

    網上有很多類似的知識,并不是有什么難度的技巧,僅僅是開發(fā)過程中的一點點積累而已。
    2010-04-04
  • js 只比較時間大小的實例

    js 只比較時間大小的實例

    下面小編就為大家?guī)硪黄猨s 只比較時間大小的實例。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 如何在uniapp項目中使用mqtt

    如何在uniapp項目中使用mqtt

    本文給大家分享uniapp中引入mqtt的全過程,在uniapp項目根目錄下分別運行安裝mqtt和uuid的命令行,因為后面會用uuid生成mqtt的clientId,文中給大家介紹mqtt和uuid安裝過程,感興趣的朋友跟隨小編一起學習下吧
    2021-05-05
  • JavaScript的public、private和privileged模式

    JavaScript的public、private和privileged模式

    公共/私有變量和方法通過一個簡單的的例子,來展示如何使用JavaScript在類里面創(chuàng)建私有變量和方法
    2009-12-12
  • 小程序實現簡單驗證碼倒計時

    小程序實現簡單驗證碼倒計時

    這篇文章主要為大家詳細介紹了小程序實現簡單驗證碼倒計時,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07

最新評論

虎林市| 五指山市| 肥城市| 芒康县| 二连浩特市| 平山县| 锡林郭勒盟| 尉犁县| 垦利县| 阿拉善盟| 大新县| 吉林省| 新源县| 万载县| 沂源县| 台北市| 鸡泽县| 万荣县| 都江堰市| 六枝特区| 荣成市| 大埔县| 西贡区| 修水县| 兴文县| 岳西县| 洪泽县| 怀集县| 旺苍县| 乌兰浩特市| 大安市| 建水县| 大渡口区| 邯郸县| 连平县| 吉安市| 巴楚县| 罗源县| 礼泉县| 勃利县| 响水县|