先来看下本次需要导入的文件:

第一个是jquery.js,这个不多说;

第二个是jquery.zclip.js,第三个是zeroClipboard.swf ,这两个文件的下载链接:http://www.bootcdn.cn/zclip/

那么如何使用上面链接 呢?

1. 复制上面链接在浏览器打开,其中zeroClipboard.swf打开会直接下载,如果你的浏览器不会直接下载,可以ctrl+s保存到本地,下载成功后会提示下面的信息,点击“保留”即可,然后复制到项目制定目录下(path配置项的路径可是该目录的绝对路径,也可以是相对路径,我在调试的时候发现,直接复制上面链接放在path里面会报错的。)

2.插件的话,根据需要下载源文件还是压缩文件,这里下载的是  jquery.zclip.js,下载方法同上(复制链接打开,ctrl+s保存在本地,可以直接使用该链接)。

先看第一个效果图:

点击复制链接,复制输入框的内容到粘贴板上。下面是html代码,比较粗糙。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<input type="text" value="www.baidu.com" id="link">
<span id="copyBtn">复制链接</span>
<script src="jquery.min.js"></script>
<script src="jquery.zclip.js"></script>
<script> $('#copyBtn').zclip({
path: "zeroClipboard.swf",
copy: function(){
return $('#link').val();
       },
afterCopy:function(){/* 复制成功后的操作 */
alert("复制成功!");
}
});
</script>
</body>
</html>

以上代码经测试,在IE8下点击是没有效果的。因为不知道如何使这个插件兼容IE8,所以下面换一种方式来兼容IE8:

点击按钮后的弹框效果图:

实现代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div class="sharebtn">复制</div> <!--IE8下显示的复制分享链接弹框-->
<div id="copyLayer" style="display: none;padding: 3%;">
<p>方法一: 快捷键Ctrl+c 复制</p>
<p>方法二: 鼠标右键选择复制</p>
<textarea id="copyContent" name="" rows="6" style="width: 98%;"></textarea>
</div> <script src="jquery.min.js"></script>
<script src="jquery.zclip.js"></script>
<script src="layer/layer.js"></script>
<script>
var urlPath = window.location.href;
$('.sharebtn').click(function(){
//如果$.support.leadingWhitespace为false,则是IE8及以下浏览器
if(!$.support.leadingWhitespace){
layer.open({
type: 1, //html内容显示模式
title: ['复制链接分享', 'font-size:16px;'],
area: ['500px', '300px'], //宽高
content: $("#copyLayer"),
btn: '确定',
offset: '30%',
shade: 'background-color: rgba(0,0,0,.5)',
success: function(){
$("#copyContent").val(urlPath); //显示链接内容
$("#copyContent").select(); //选中链接内容
}
});
}
})
//IE9+及主流浏览器
if($.support.leadingWhitespace){
//链接复制分享 - 点击复制
$('.sharebtn').zclip({
path: "zeroClipboard.swf",
copy: function(){
return urlPath;
      },
afterCopy:function(){
layer.open({
content: '复制成功!',
btn: '确定',
time: 3000,
offset: '30%',
shade: 'background-color: rgba(0,0,0,.5)',
shadeClose: true
});
}
});
}
</script>
</body>
</html>

这里是通过判断是否是IE8浏览器,自动选中分享链接,但是需要通过手动复制,最终实现分享功能。

js插件实现点击复制内容到粘贴板,兼容IE8的更多相关文章

  1. js点击按钮复制内容到粘贴板

    复制内容到粘贴板,就是要选择需要复制的内容并执行document.execCommand("copy")命令: //复制内容到粘贴板 function copyToClipboar ...

  2. js实现复制内容到粘贴板

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  3. js复制内容到粘贴板

    点击右边内容:<span onclick="copyContent(this);" title="点击复制">啊,我被复制了</span> ...

  4. vue 复制内容到粘贴板

    首先是npm安装依赖包:npm install clipboard --save 导入组件:import Clipboard from "clipboard"; html如图: c ...

  5. js 复制内容到粘贴板的兼容性

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs& ...

  6. vue复制textarea文本域内容到粘贴板

    vue实现复制内容到粘贴板   方案:找到textarea对象(input同样适用),获取焦点,选中textarea的所有内容,并调用document.execCommand("copy&q ...

  7. Zclip点击复制内容到剪贴板兼容各浏览器

    WEB开发中,要让用户复制页面中的一段代码.URL地址等信息,为了避免用户拖动鼠标再进行右键复制操作而可能出现的差错,我们可以直接在页面中放置一个复制按钮,只需要轻轻一点这个复制按钮,内容将会被复制, ...

  8. 用js实现复制内容到操作系统粘贴板(兼容IE、谷歌、火狐等浏览器)

    一.如果只考虑IE浏览器,可以直接用原声js实现 if(window.clipboardData){ //清空操作系统粘贴板 window.clipboardData.clearData(); //将 ...

  9. 原生js实现复制文本到粘贴板

    项目中经常会遇到点击按钮复制订单号.订单id等内容到粘贴板中的需求.可是通常我们都是用Ctrl + c或右击复制的,别操心,js也是有复制命令的,那就是document.execCommand('co ...

随机推荐

  1. Proximal Algorithms

    1. Introduction Much like Newton's method is a standard tool for solving unconstrained smooth minimi ...

  2. vue移动端h5页面根据屏幕适配的四种方案

    最近做了两个关于h5页面对接公众号的项目,不得不提打开微信浏览器内置地图导航的功能确实有点恶心.下次想起来了的话,进行总结分享一下如何处理.在vue移动端h5页面当中,其中适配是经常会遇到的问题,这块 ...

  3. Binary search tree or not

    https://github.com/Premiumlab/Python-for-Algorithms--Data-Structures--and-Interviews/blob/master/Moc ...

  4. hdu-1143(简单dp)

    题目链接: 思路:利用前一个状态找到本次状态需要的次数,就是递推. 建立一个二维数组dp[i][j] ,i表示行,j表示多余的格子. 可以分为三种状态dp[i][0], dp[i][1] ,dp[i] ...

  5. 处理jQuery选择器中的特殊符号,如(、#等

    前几天解决一个外网问题,客服反馈页面数据加载不出来,首先看一下服务端日志也没报错异常,自己测试了一下,在chrome的Console发现有js报错,原来是js报错导致的数据加载不出来. 调试了一番,发 ...

  6. addEvent兼容版

    function addEvent(elem,type,handle){ if (elem.addEventlistener) { elem.addEventlistener(type,handle, ...

  7. 简单的Java,Python,C,C++

    Java 语言 //package main //注意不要添加包名称,否则会报错. import java.io.*; import java.util.*; cin.hasNext(); cin.h ...

  8. 11.字符串{a,b}的幂集[回溯递归]

    我一直在想着这个事,早晨起来五六点,躺在床上冥想.突然悟解了,真如某些书上写的,大道不过三言两语,说破一文不值.还是按照老方法,把问题最大程度的精简,现在求集合A={a,b}的幂集,只有两个元素,应该 ...

  9. STL中list中push_back(对象)保存对象的内部实现

    STL中list中push_back(对象)保存对象的内部实现 1. 在容器中,存放的是对象拷贝 #include<iostream> #include<list> using ...

  10. RabbitMQ 初探

    有哪些优点 可靠性:RabbitMQ 提供了多种技术可以让你在性能和可靠性之间进行权衡.这些技术包括持久性.投递确认.发布者证实和高可用性. 灵活的路由:提供了多种内置交换机类型.如果你有更复杂的路由 ...