主要从两个方面入手了:
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="/UploadFiles/2021-04-02/jquery-3.1.1.js">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>标签里!!!
如果你的代码里包含标签,记得将标签的"<"换成"<",把">"换成">"
复制插件——clipboard.js
一开始想直接使用execCommand实现复制,代码如下。结果复制到的内容没有换行空格等相关的格式,且有兼容性问题,在找了大量插件的过程中采用了现成的复制插件clipboard.js,能够较方便快捷的实现功能。
<script type="text/javascript"> function copyLink(){ var e = document.getElementById("copy"); e.select(); // 选择对象 document.execCommand("Copy"); // 执行浏览器复制命令 alert("复制链接成功!"); } </script>clipboard.js 可以实现纯 JS 的从浏览器复制文本到系统剪贴板的功能。
使用过程中前端浏览器提示了 Clipboard is not defined
一开始以为是未定义或者源码错误,找了半天发现是引入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="/UploadFiles/2021-04-02/clipboard.min.js">
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)定义复制的按钮跟内容(注:此处需要给触发复制时间的按钮添加两个属性,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 值也可以是标签,但是如果有多个标签,会失效,注意。
两个插件使用过程中没有冲突,可以较好糅合。
代码块高亮,复制
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。