`

ZeroClipboard 复制到剪贴板

阅读更多

使用 ZeroClipboard 可以简单的将内容复制到剪贴板,通过 Adobe Flash 和 JavaScript 来实现。“Zero” 意义为这个类库没有界面,界面需要由你来建立。

在线实例

实例预览 ZeroClipboard 复制到剪贴板 简单示例

使用方法

载入 JavaScript 文件

  1. <script src="ZeroClipboard.js"></script>
复制

如果 ZeroClipboard.swf 与页面不在同一个目录下,可以设置路径

  1. // 全局设置 
  2. ZeroClipboard.setDefaults({ 
  3.   moviePath: '/path/ZeroClipboard.swf' 
  4. }); 
  5.  
  6. // 参数中设置 
  7. var clip=new ZeroClipboard(document.getElementById("copy-button"), { 
  8.   moviePath: '/path/ZeroClipboard.swf' 
  9. }); 
复制

调用

可以传递一个元素或者一个元素数组。(这里使用 jQuery 获取元素的方式)

  1. // 直接调用 
  2. var clip=new ZeroClipboard($('#my-button')); 
复制

AMD

如果你使用 RequireJScurl.jsseajs 等 AMD 规范的模块加载器,那么需要设置模块的 ID 或者路径的值到 amdModuleId,才能正常使用 ZeroClipboard。例:

  1. define(['path/to/zero-clipboard'], function(ZeroClipboard){ 
  2.   ZeroClipboard.setDefaults({ 
  3.     amdModuleId: 'path/to/zero-clipboard' 
  4.   }); 
  5. }); 
复制
或者设置路径,RequireJS 的例子:
  1. requirejs.config({ 
  2.   paths:{ 
  3.     "ZeroClipboard":"path/to/zero-clipboard" 
  4.   } 
  5. }); 
  6.  
  7. define(["ZeroClipboard"],function(ZeroClipboard) { 
  8.   ZeroClipboard.setDefaults({ 
  9.     amdModuleId: 'ZeroClipboard' 
  10.   }); 
  11. }); 
复制

参数说明

  1. new ZeroClipboard(elements [, options])
复制

options 参数说明

名称 默认值 说明
swfPath "ZeroClipboard.swf" Flash 文件路径,默认的 swf 文件路径与 ZeroClipboard.js 相同
trustedDomains window.location.host ? [window.location.host] : [] 可信任的域(字符串或者字符串的数组)
cacheBust true  
forceEnhancedClipboard false  
flashLoadTimeout 30000 加载 Flash 的超时时间,如果不需要,可以设置为 0。单位(ms)
autoActivate true  
bubbleEvents true  
containerId "global-zeroclipboard-html-bridge"  
containerClass "global-zeroclipboard-container"  
swfObjectId "global-zeroclipboard-flash-bridge"  
hoverClass "zeroclipboard-is-hover" 鼠标移上时给元素增加的 Class
activeClass "zeroclipboard-is-active" 选定是给元素增加的 Class
forceHandCursor false  
title null  
zIndex 999999999  

参数 allowScriptAccess 选项的注意事项

1.1.7 及以下的版本,allowScriptAccess 的默认值为 always。意味着允许 "ZeroClipboard.swf" 文件托管的其他的域。为了提高安全性,1.1.7 之后的版本,allowScriptAccess 的默认值为 sameDomain,只允许 "ZeroClipboard.swf" 在相同域之下。

如果你是从 1.1.7 或更低的版本升级到 1.1.7 以上版本时,需要将 "ZeroClipboard.swf" 保存一份到相同域之下,或者设置 allowScriptAccess 的值为 always。

关于 allowScriptAccess 的更多信息,可以参考官方文档

Data 属性

名称 说明
data-clipboard-target 元素ID。查找该元素后,尝试复制元素的 .value 或 .textContent 或 .innerText 的值
data-clipboard-text 默认复制的内容。

同时设置 data-clipboard-target 和 data-clipboard-text 两个属性时,只有在找不到 clipboard-target 的值时才会选用 clipboard-text

即使获取到 clipboard-target 的值为空,也不会选用 clipboard-text

API 方法

名称 说明
glue(dom) 绑定到元素
reposition() 调整位置
on("Event",my_load_handler) 绑定事件
off("Event",my_load_handler) 取消已绑定的事件

事件

通过 API 的方法 on() 来绑定

名称 示例 说明
load clip.on("load",function(client,args){...}); Flash 加载完成时的事件。args 参数包含以下属性:

flashVersion:当前 Flash 的版本号

mouseover clip.on("mouseover",function(client,args){...}); 鼠标移入时的事件。args 参数包含以下属性:

flashVersion:当前 Flash 的版本号

altKey:是否按住 Alt 键

ctrlKey:是否按住 Ctrl 键

shiftKey:是否按住 Shift 键

mouseout clip.on("mouseout",function(client,args){...}); 鼠标移出时的事件。args 参数包含以下属性:

flashVersion:当前 Flash 的版本号

altKey:是否按住 Alt 键

ctrlKey:是否按住 Ctrl 键

shiftKey:是否按住 Shift 键

mousedown clip.on("mousedown",function(client,args){...}); 鼠标按下时的事件。args 参数包含以下属性:

flashVersion:当前 Flash 的版本号

altKey:是否按住 Alt 键

ctrlKey:是否按住 Ctrl 键

shiftKey:是否按住 Shift 键

mouseup clip.on("mouseup",function(client,args){...}); 鼠标弹起时的事件。args 参数包含以下属性:

flashVersion:当前 Flash 的版本号

altKey:是否按住 Alt 键

ctrlKey:是否按住 Ctrl 键

shiftKey:是否按住 Shift 键

complete clip.on("complete",function(client,args){...}); 成功复制内容时的事件。args 参数包含以下属性:

flashVersion:当前 Flash 的版本号

altKey:是否按住 Alt 键

ctrlKey:是否按住 Ctrl 键

shiftKey:是否按住 Shift 键

text:复制的内容

noflash clip.on("noflash",function(client,args){...}); 没有检测到 Flash 时的事件。
wrongflash clip.on("wrongflash",function(client,args){...}); Flash 版本低于要求版本时的事件。ZeroClipboard 要求 Flash 10.0.0 以上的版本。
dataRequested clip.on("dataRequested",function(client,args){...}); 复制开始时的事件

 

2
0
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Jquery-复制到剪切板ZeroClipboard【亲测可用】

    在这个案例中,我们将探讨如何利用JQuery与ZeroClipboard插件相结合,实现一键复制文本到剪切板的功能。 首先,ZeroClipboard是一个开源的JavaScript库,它允许用户模拟浏览器的右键点击复制功能,将指定的文本复制...

    ZeroClipboard支持IE,firefox,Chrome复制到剪贴板

    ZeroClipboard是一款开源JavaScript库,它允许用户通过点击网页上的按钮或者其他元素将文本复制到系统剪贴板。这个库尤其出色之处在于它支持多种浏览器,包括IE(Internet Explorer)、Firefox和Chrome,这些都是...

    ZeroClipboard-JS实现复制到剪贴板功能

    ZeroClipboard是一个流行的JavaScript库,它利用浏览器的Flash插件来实现跨浏览器的复制到剪贴板功能。本文将详细介绍如何使用ZeroClipboard库以及它的核心原理。 首先,让我们理解一下ZeroClipboard的工作机制。...

    ZeroClipboard解决跨浏览器复制到剪贴板的问题

    标题中的“ZeroClipboard解决跨浏览器复制到剪贴板的问题”是指在网页开发中,使用ZeroClipboard这个开源库来实现跨浏览器的文本复制功能。在Web应用程序中,由于浏览器的安全限制,JavaScript无法直接操作用户的...

    实现复制到剪贴板功能

    在JavaScript的世界里,复制文本到剪贴板的功能是常见的需求,尤其在网页应用中,比如复制链接、代码或用户信息等。"zclip"是一个专门为此目的设计的jQuery插件,它能帮助开发者轻松实现这一功能,并且具有良好的...

    支持IE,firefox,Chrome复制到剪贴板的JS+FLASH插件ZeroClipboard下载

    ZeroClipboard是一款广泛使用的JavaScript库,它通过Flash技术实现了在不同浏览器上复制文本到剪贴板的功能。这个库尤其重要,因为它解决了在JavaScript中直接操作剪贴板的限制,尤其是在早期的浏览器版本中,由于...

    ZeroClipboard库提供了一个简单的方法来将文本复制到剪贴板

    ZeroClipboard是一个广泛使用的开源JavaScript库,它为开发者提供了一种便捷的方式来实现网页中的文本复制功能,将内容直接放入用户的剪贴板。这个库利用了Adobe Flash电影的技术,尽管现在Flash已经逐渐被淘汰,但...

    js 复制到剪贴板 ,兼容支持火狐firefox 和 ie

    总结来说,实现JavaScript在Firefox和IE浏览器上复制到剪贴板的功能,需要根据浏览器的不同特性选择合适的解决方案,如使用`ZeroClipboard`库来兼容旧版浏览器,或者在现代浏览器中利用`Clipboard API`。理解这些...

    ZeroClipboard JS 复制剪切板

    ZeroClipboard是一款JavaScript库,它允许用户通过点击网页上的按钮或元素来复制文本到系统的剪贴板,从而提供了无浏览器限制的复制功能。这个库的工作原理是利用了Flash技术,因为JavaScript在浏览器的安全策略下...

    ZeroClipboard flash剪贴板插件修复在弹出框中错位问题

    ZeroClipboard是一款开源JavaScript库,它允许用户通过模拟鼠标复制到剪贴板的功能,常用于网页中复制文本。这个插件利用了Flash技术来实现跨浏览器的剪贴板操作,因为JavaScript在某些浏览器中受到安全限制,无法...

    Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)

    Zero Clipboard 是一个JavaScript库,它允许用户通过模拟浏览器的复制功能,实现在网页上点击按钮后将特定文本复制到剪贴板。这个库主要用于解决浏览器安全限制,因为JavaScript通常无法直接访问剪贴板数据。Zero ...

    兼容各浏览器的复制到剪贴板功能

    在现代Web开发中,复制到剪贴板的功能已经成为一种常见的用户交互需求,它允许用户方便地将文本或数据从网页中复制并粘贴到其他地方。"兼容各浏览器的复制到剪贴板功能"这个实例就是一个解决这个问题的方案,通过...

    ZeroClipboard 复制与粘贴

    ZeroClipboard 是一个JavaScript库,主要用于实现网页上的跨浏览器复制功能,尤其在处理用户希望复制文本到剪贴板的场景中非常实用。这个库巧妙地利用了Adobe Flash技术,因为Flash在浏览器中的广泛支持,可以绕过...

    jquery.zclip-JS实现复制到剪贴板功能

    《使用jQuery.zclip实现JS复制到剪贴板功能详解》 在现代网页开发中,有时候我们需要为用户提供方便快捷地复制文本到剪贴板的功能,比如复制代码、链接等。这时,我们可以利用JavaScript库来实现这一需求,其中...

    复制剪贴板功能

    ZeroClipboard的使用相当简单,开发者首先需要在页面中引入ZeroClipboard的相关库文件,然后设置剪贴板的触发元素和要复制的内容。例如,可以这样配置一个按钮来复制一段文本: ```html 复制 &lt;script src="path/to/...

    ZeroClipboard(JS复制内容到粘贴板)

    ZeroClipboard是一款JavaScript库,它允许用户通过点击网页上的按钮或元素将文本内容复制到用户的剪贴板中。这个工具在不依赖浏览器特定API或者需要用户输入任何文本的情况下,提供了便捷的复制功能。ZeroClipboard...

    js插件zClip实现复制到剪贴板功能

    **JavaScript 插件 zClip 实现复制到剪贴板功能** 在 Web 开发中,有时候我们需要为用户提供方便快捷地复制文本到剪贴板的功能。zClip 是一个 JavaScript 插件,它允许用户通过简单的点击操作就能实现这个需求。...

    js实现复制到剪贴板功能,兼容所有浏览器

    Zero Clipboard、jQuery ZeroClipboard实现兼容所以浏览器的复制到剪贴板功能(由于用到flash支持,需要兼容的flash10及以下版本); 浏览demo时记得使用服务器环境,不然看不到效果的~ 搭建服务器环境的,方法有很多...

    ZeroClipboard

    ZeroClipboard是一款著名的JavaScript库,主要用于实现网页上的“复制到剪贴板”功能。这个功能在很多网站上都有应用,比如复制验证码、复制分享链接等。它巧妙地利用了浏览器的安全限制,通过Flash技术来实现跨域...

    php下利用ZeroClipboard复制【兼容谷歌】

    ZeroClipboard是一个流行的JavaScript库,它允许我们创建“复制到剪贴板”按钮,模拟用户点击右键选择“复制”的行为。在这个场景中,我们将深入探讨如何在PHP环境中利用ZeroClipboard库,特别是如何解决其在谷歌...

Global site tag (gtag.js) - Google Analytics