JS 点击复制Copy插件–Zero Clipboard

JS 点击复制Copy插件–Zero Clipboard

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

写博客就是一周工作中遇到哪些问题,一个优点就是能够进行一个总结,另外一个优点就是下次遇到相同的问题即使那你记不住,也能够翻看你的博客攻克了。相同也能够帮到别人遇到与你一样问题的人。或者别人有比你更好的解决的方法,能够一起讨论,分析出更好的解决方法。所以这是个好习惯。既然是好习惯,那就得坚持。


可是想写好一篇博客好像不是那么easy的,由于你得有问题,不然你写什么,手放在键盘上不知道敲啥。或者是你自动学习了,对你的学习进行了总结。然后你得有得写。

这周公司同事分享的《贝叶斯方法》对我的感触挺大的。好像对我的见识一下拓宽了。里面涉及到的统计学,心理学等等非常多学科,然后 我总结了自己,学东西好像都学到的是皮毛。没有深入进去。贝叶斯算法还没全然理清,在网上看了一些资料,仅仅能说略懂。当然这么好的东西一下子没弄懂,那我就多花点时间呗。可是在没全然弄懂之前,让我写一篇关于贝叶斯方法的博客我想对于我来说是有一定难度的。我试着去理解,还拿PPT给我女朋友大概讲了一遍,方便自己增强记忆。她貌似是懂了。她一直觉得自己智商比我高。好吧,扯远了。


这周还是写一个工作中遇到的问题吧。

问题例如以下:

表格里面有非常多列,每一列的URL我都得复制。点复制则复制当前列的URL;

网上找了非常多方法。发现尽管功能能够实现,但浏览器兼容性不行。

然后想到去找js插件,找到了一款各个浏览器都兼容得不错的JS复制插件 Zero Clipboard 

Zero Clipboard 的实现原理 

Zero Clipboard 利用 Flash 进行复制,之前有 Clipboard Copy 解决方式,其利用的是一个隐藏的 Flash。但最新的 Flash Player 10 仅仅同意在 Flash 上进行操作才干启动剪贴板。所以 Zero Clipboard 对此进行了改进,用了一个透明的 Flash ,让其漂浮在button之上,这样事实上点击的不是button而是 Flash ,也就能够使用 Flash 的复制功能了。 

怎样使用 Zero Clipboard 

首先下载Zero Clipboard,并解压缩。当中须要两个文件:ZeroClipboard.js 和 ZeroClipboard.swf ,将这两个文件放入到你的项目中。

 下载下来后里面有个小样例。例如以下:

<!DOCTYPE html>
<html>
<head>
<title>Zero Clipboard Test</title>
<meta charset="utf-8">
</head>
<body>
<!-- 
	说明:
	1.data-clipboard-target 输入要复制的对象的ID
-->
<button id="d_clip_button" class="my_clip_button" data-clipboard-target="fe_text"><b>拷贝到剪贴板</b></button>
<br/>
<textarea id="fe_text" cols="50" rows="3">输入须要复制的内容</textarea>
</body>
</html>
<script type="text/javascript" src="ZeroClipboard.js"></script>
<script type="text/javascript">
// 定义一个新的复制对象
var clip = new ZeroClipboard( document.getElementById("d_clip_button"), {
  moviePath: "ZeroClipboard.swf"
} );

// 复制内容到剪贴板成功后的操作
clip.on( 'complete', function(client, args) {
   alert("复制成功,复制内容为:"+ args.text);
} );

</script>

效果例如以下图:

JS 点击复制Copy插件--Zero Clipboard

然后在你须要的地方CTRL+V就能够粘贴了。

然后把功能用到实际项目中,

效果例如以下图:

JS 点击复制Copy插件--Zero Clipboard

代码例如以下:

在TR中要复制的内容中的TD标签里面加:

注明:$i是循环数据出来的。循环一次,$i++;

 <td id='fe_text<?php echo $i; ?>'>

JS 点击复制Copy插件--Zero Clipboard

样式是例如以下引入的:

<script type="text/javascript" src="/misc/js/ZeroClipboard.js"></script>
<script type="text/javascript">
	<?php for($r=0;$r<$i;$r++): ?>
	var clip = new ZeroClipboard( document.getElementById("d_clip_button<?php echo ($r+1); ?>"), {
	  moviePath: "/misc/js/ZeroClipboard.swf"
	} );
	clip.on( 'complete', function(client, args) {
	   alert("复制成功,复制内容为:"+ args.text);
	} );
	<?php endfor; ?>
</script>

最后,就OK了,測试了几个浏览器功能都是OK的。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/118735.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Object与json字符串的相互转换[通俗易懂]

    Object与json字符串的相互转换[通俗易懂]第一步:引入fastjson的依赖jar包注:maven项目,直接在pom.xml中进行配置即可。注:如果引入此版本的依赖,导致项目不能启动(报错:找不到启动类);那么可以换一个版本的fastjson即可。给出文字版:<!–fastjson–><dependency><groupId>com.alibaba</…

    2022年10月10日
  • Mysql修改已有数据的字符集

    Mysql修改已有数据的字符集

  • SSM框架实现用户查询、注册、登录——IDEA整合Spring、Spring MVC、Mybatis 框架「建议收藏」

    SSM框架实现用户查询、注册、登录——IDEA整合Spring、Spring MVC、Mybatis 框架「建议收藏」目录零、前言一、说明1、整合说明2、最终目标3、数据库准备二、搭建整合环境1、创建maven工程2、导入依赖坐标3、创建java和resources文件夹4、创建类和接口文件【1】创建存放javabean类文件:cn.star.domain.Users【2】创建数据访问层UsersDao接口:cn.star.dao.UsersDao…

  • jdbctype=null_could not get jdbc connection

    jdbctype=null_could not get jdbc connectionresultMap中映射没注意jdbcType类型直接报错:Cause:org.apache.ibatis.builder.BuilderException:ErrorresolvingJdbcType.Cause:java.lang.IllegalArgumentException:Noenumconstantorg.apache.ibatis.type.JdbcType.int随后检查XML文件映射问题,发现应该是INTEGER,jdbcType中没有int。附上MyBat.

    2022年10月20日
  • 使用 SCTP 优化网络

    使用 SCTP 优化网络SCTP是在IP网络上使用的一种可靠的通用传输层协议。尽管SCTP协议最初是为发送电话信号而设计的(RFC2960),但带来了一个意外的收获:它通过借鉴UDP的优点解决了TCP的某些局限。SCTP提供的特性使套接字初始化的可用性、可靠性和安全性都得以提高。(图1给出了IP堆栈的层次化架构。)图1.IP栈的层次化架构本文简要介绍了Linux

  • iOS 获取本地图片尺寸_ios图片处理软件

    iOS 获取本地图片尺寸_ios图片处理软件有时候我们需要在代码中读取图片的URL,但是需要注意的是:在Assets中的图片,会经过编译无损压缩,无法通过Path读取,只能通过named方法读取,这种情况我们应该怎么获取图片URL了?

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号