`

ZeroClipboard使用问题记录

阅读更多

           项目中用到了ZeroClipboard,但是按照文档操作后发现不行,所以就研究了一下ZeroClipboard的源码,经过一番努力后就搞定,将排错过程记录下来,希望对大家有所帮助。

       ZeroClipboard的原理就是后面隐藏一个透明的Flash程序,用来和剪切板交互,在初始化的时候要加载一个flash程序。然后flash要恰好浮动在元素上面才可以正常工作,在这个里面有一个关键的函数getDOMObjectPosition,它是根据当前的元素来计算浮动flash程序的位置的,有时候由于浮动等原因,元素的offsetHeight和OffsetWidth属性计算不正确会导致整个程序失败。

       

var ZeroClipboard = {
	
	version: "1.0.7",
	clients: {}, // registered upload clients on page, indexed by id
	moviePath: PC.constants.CONTEXT+'resources/js/ZeroClipboard.swf', // URL to movie
	nextId: 1, // ID of next movie

         从代码来看,我们可以设置moviePath,生成的id等变量。

        初始化代码如下:

    $(".no_client_hi").each(function(){
				var clip_hi = new ZeroClipboard.Client();
				clip_hi.setHandCursor(true);
				clip_hi.setText($(this).attr("title"));
				clip_hi.glue($(this).attr("id")); 
				
				clip_hi.addEventListener('complete', function (client, text) {
		    		alert("hi已经拷贝到剪切板了!");
				});
			});

          这个在初始化后,在dom里面会生成一个flash程序,采用绝对定位的方式,浮在要点击copy的按钮或者链接上的。如下图所示:

            

 

    

       最后我上传一个可用正常工作的例子程序,希望对大家有所帮助。请大家参考copy.rar。

  • 大小: 71.5 KB
分享到:
评论
2 楼 asialee 2014-12-10  
没有这个问题吧,之前没有遇到过,你看看你的事件绑定。
1 楼 jjjssh 2014-12-09  
好像要点击两下才能复制成功,能不能解决,只需点击一下,就可以达到复制的功能

相关推荐

    使用 ZeroClipboard 实现复制功能

    5. **处理兼容性**:虽然ZeroClipboard已经处理了一些兼容性问题,但在不同浏览器或环境可能还需要额外的适配。 标签中的“源码”意味着你可以查看并理解ZeroClipboard的内部实现,这对于定制或者调试可能会有所...

    ZeroClipboard

    3. **跨域问题**:由于Flash可以跨域访问,ZeroClipboard可以轻松解决JavaScript无法直接跨域复制的问题。但是,随着Flash逐渐被淘汰,现代浏览器开始支持HTML5的Clipboard API,这为不依赖Flash实现类似功能提供了...

    跨浏览器复制文本(clipboard和ZeroClipboard使用说明以及js文件)

    本篇文章将深入探讨两种实现这一功能的JavaScript库——`ZeroClipboard`和`clipboard`,并详细介绍它们的工作原理、使用方法以及在不同场景下的适用性。 ## 一、ZeroClipboard `ZeroClipboard` 是一个早期广泛使用...

    ZeroClipboard.js ZeroClipBoard.swf

    ZeroClipboard.js ZeroClipBoard.swf下载

    zeroclipboard-2.2.0.zip

    Flash插件的存在使得zeroclipboard可以跨浏览器工作,无论用户使用的是Firefox、Chrome、Safari还是其他支持Flash的浏览器。 在zeroclipboard-2.2.0.zip压缩包中,我们通常会找到以下文件和目录: 1. `dist/` 目录...

    zeroclipboard组件

    zeroclipboard组件的使用不仅解决了浏览器兼容性问题,还提供了丰富的API,允许开发者自定义复制行为,如设置复制文本、添加自定义样式、处理复制事件等。同时,它还考虑了安全性和隐私问题,避免了不必要的权限滥用...

    ZeroClipboard实现js复制

    但目前,ZeroClipboard仍然是一个广泛使用的解决方案,特别是对于需要兼容老版本浏览器的项目。 在实际应用中,你还需要考虑一些细节问题,比如Flash的安全策略、跨域问题、以及如何确保在用户点击按钮时正确触发...

    ZeroClipboard demo 网页复制功能

    3. **初始化插件**:在JavaScript中,使用jQuery选择器找到这个元素,并调用ZeroClipboard的`.glue()`方法,将该元素与要复制的文本关联起来。 4. **事件处理**:ZeroClipboard提供了多种事件,如`ready`、`copy`、...

    ZeroClipboard 复制与粘贴

    ZeroClipboard 是一个JavaScript库,主要用于实现网页上的跨浏览器复制功能,尤其在处理用户希望复制文本到...通过正确使用ZeroClipboard,开发者可以为用户提供一致且便捷的复制体验,无论他们使用的是哪种浏览器。

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

    在《ZeroClipboard flash剪贴板插件修复在弹出框中错位问题》这篇博文中,作者可能详细讨论了这个问题及其解决方案。通常,解决这类问题的方法包括: 1. CSS调整:确保ZeroClipboard的div元素(通常称为“clipboard...

    zeroclipboard-2.2.0

    zeroclipboard库的使用极大地简化了Web应用中复制功能的实现,使得开发者可以轻松地提供这一用户体验上的便利。然而,随着HTML5的`Clipboard API`的普及,现代浏览器提供了更安全、更原生的剪贴板访问方式,不再依赖...

    ZeroClipboard实现兼容多浏览器复制

    6. **安全与隐私**:由于涉及到用户数据,确保在使用ZeroClipboard时遵循最佳安全实践,比如只复制用户期望的数据,避免潜在的安全风险。 在实际项目中,ZeroClipboard可以很好地与各种前端框架和库集成,如React、...

    ZeroClipboard 元素内容复制-兼容各浏览器

    使用ZeroClipboard的步骤如下: 1. **引入库**:首先,你需要在HTML文件中引入ZeroClipboard的JavaScript文件。通常,你可以从其官方网站下载最新版本,或者通过CDN链接直接引用。 2. **创建剪贴板对象**:在...

    zeroClipboard.js + swf 支持chrome

    针对这个问题,"zeroClipboard.js + swf 支持chrome" 提供了一种有效的解决方案,使得在Chrome和IE等不同浏览器上实现拷贝复制粘贴功能成为可能。 首先,我们来了解核心组件zeroClipboard.js。这是一款JavaScript库...

    ZeroClipboard.zip

    使用ZeroClipboard库的步骤大致如下: 1. **引入文件**:首先,你需要在网页中引入ZeroClipboard.min.js和ZeroClipboard.swf。通常将JavaScript文件放在`<head>`或`<body>`标签的底部,而SWF文件则需要放在服务器可...

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

    在这个场景中,我们将深入探讨如何在PHP环境中利用ZeroClipboard库,特别是如何解决其在谷歌浏览器中的兼容性问题。 首先,ZeroClipboard库的工作原理是利用HTML5的`<iframe>`元素和`flash`技术,因为JavaScript...

    ZeroClipboard js实现完美复制

    在使用ZeroClipboard时,我们需要包含两个文件:`ZeroClipboard.js`和`ZeroClipboard.swf`。`ZeroClipboard.js`是JavaScript库,负责与Flash对象通信以及处理用户事件。`ZeroClipboard.swf`是Flash组件,实现了实际...

    zclip.js ZeroClipboard.swf 下载

    然而,考虑到兼容性问题,zclip.js和ZeroClipboard.swf目前仍然是一个可靠的解决方案,尤其对于需要支持老版本浏览器的项目。 总的来说,zclip.js和ZeroClipboard.swf提供了一种简单且跨浏览器的文本复制解决方案,...

Global site tag (gtag.js) - Google Analytics