该插件依赖于 Prism Toolbar 插件。除了将插件文件包含在您的 PrismJS 构建中之外,请确保在插件之前加载它。

默认情况下,该插件以英语显示消息并在点击后设置 5 秒的超时时间。您可以使用以下 HTML5 数据属性来覆盖默认设置:

data-prismjs-copy — 复制到剪贴板时显示的默认消息;

data-prismjs-copy-error — 复制失败后显示的消息,提示用户按下 Ctrl+C ;

data-prismjs-copy-success — 复制成功后显示的消息;

data-prismjs-copy-timeout — 复制后的超时时间(毫秒)。一旦超时,成功或错误消息将恢复为默认消息。该值应为非负整数。

插件沿着 DOM 树向上遍历以找到这些属性。搜索从每个 pre code 元素开始,并在具有所需属性的最近祖先元素处停止,或者在最坏情况下,在 html 元素处停止。

警告!尽管可能,但你绝对不应该将这些属性添加到 html 元素中,因为应该在字符编码声明( <meta charset="..."> )之后放置可读文本,并且后者必须在文档的前 512 个字节(在旧浏览器中)或前 1024 个字节内完全序列化。考虑使用 body 元素或其子元素之一。

​使用范例1-全功能:


​<!DOCTYPE html> <html lang="en"><!-- The head is omitted. --> <body> <pre><code class="language-js">console.log('Hello, world!');</code></pre> <pre lang="ru" data-prismjs-copy="Скопировать" data-prismjs-copy-error="Нажмите Ctrl+C, чтобы скопировать" data-prismjs-copy-success="Скопировано!" ><code class="language-js">console.log('Привет, мир!');</code></pre> <pre lang="zh-Hans-CN" data-prismjs-copy="复制文本" data-prismjs-copy-error="按Ctrl+C复制" data-prismjs-copy-success="文本已复制!" ><code class="language-js">console.log('你好,世界!');</code></pre> </body> </html>

​使用范例2-修改后的按钮:


​<body data-prismjs-copy-timeout="500"> <pre><code class="language-js" data-prismjs-copy="Copy the JavaScript snippet!">console.log('Hello, world!');</code></pre> <pre><code class="language-c" data-prismjs-copy="Copy the C snippet!">int main() { return 0; }</code></pre> </body>​

​使用范例3-继承的写法:


​<body data-prismjs-copy="foo"> <main data-prismjs-copy="bar"> <pre><code class="language-c" data-prismjs-copy="baz">int main() { return 0; }</code></pre> </main> </body>​


点赞(0)

留言列表 共有 0 条留言

暂无留言

微信公众账号

微信扫一扫加关注

发表
留言
返回
顶部