`
lishaorui
  • 浏览: 149564 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

实现复制到粘贴板

 
阅读更多
操作粘贴板

目前,操作粘贴板主要有两种方式:1通过javascript直接来操作粘贴板,但这种方式支持浏览器比较有限;2通过flash来操作,这种需要浏览器支持flash,这个一般都支持的。

1.通过js来操作粘贴板,这种只支持IE和FF,在IE8和FF8下测试通过
这里参考了网上已有的代码,不过链接找不到了。。囧

<html>
  <head>
  <script type="text/javascript">
    // 支持IE和FF
    function copyToClipboard(txt) {
      if (window.clipboardData) {
	window.clipboardData.clearData();
	window.clipboardData.setData("Text", txt);
      } else if (navigator.userAgent.indexOf("Opera") != -1) {
	window.location = txt;
      } else if (window.netscape) {
	try {	       netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
	} catch (e) {
	  alert("被浏览器拒绝!\n请在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");
	}
	var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
	if (!clip)
	  return;
	var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
	if (!trans)
	  return;
	trans.addDataFlavor('text/unicode');
	var str = new Object();
	var len = new Object();
	var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
	var copytext = txt;
	str.data = copytext;
	trans.setTransferData("text/unicode", str, copytext.length * 2);
	var clipid = Components.interfaces.nsIClipboard;
	if (!clip)
	   return false;
	clip.setData(trans, null, clipid.kGlobalClipboard);
     }
     alert("已复制到剪贴板了,你可以粘贴到QQ/MSN上发送给您的好友!");
    }  
 </script>
 </head>

 <body style="padding:30px">
  <input id="iptMyText" type="text" value="哈哈哈哈哈哈哈哈哈哈哈" />
    <div style="margin-top:20px">
	 <input type="button" value="复制一下试试" onclick="javascript:copyToClipboard(document.getElementById('iptMyText').value)" />
    </div>
  </body>


</html>




2、通过flash,这里使用的zeroclipboard,这是一个开源的项目,可以到这里下载:
http://code.google.com/p/zeroclipboard/
这个要补充说明一下,zeroclipboard中的demo需要放到服务器上才能正常访问,本地直接访问会有问题。

在IE8,FF8,chrome15下测试通过。
分享到:
评论

相关推荐

    在现代浏览器中实现复制到粘贴板功能少于1KB

    在现代Web开发中,用户体验是至关重要的,而复制到粘贴板的功能是用户日常操作中常见的一种需求。本文将深入探讨如何在JavaScript中实现在现代浏览器中实现这一功能,同时保持代码精简,整个实现小于1KB。 首先,...

    实现复制到剪贴板功能

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

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

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

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

    总的来说,ZeroClipboard是一个强大且易于使用的JavaScript库,它允许开发者轻松地实现复制到剪贴板的功能,尽管随着技术的发展,未来可能需要考虑更现代的替代方案。在使用ZeroClipboard的过程中,确保对Flash的...

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

    本文将详细介绍如何使用jQuery.zclip库来实现复制到剪贴板的功能。 jQuery.zclip是一款基于jQuery的小巧插件,它通过Flash技术实现了浏览器之间的跨域数据复制,从而帮助开发者轻松地在网页上添加复制功能。由于...

    使用clipboard.js实现页面内容复制到剪贴板

    它使得在浏览器环境中实现复制到剪贴板的操作变得简单而直观。 **1. Clipboard.js的基本用法** 首先,你需要在HTML文件中引入clipboard.js库。如果你下载了压缩包`clipboard.js-master`,其中应该包含`dist/...

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

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

    BAT批处理脚本-文本操作-将文本复制到剪贴板.zip

    本压缩包"BAT批处理脚本-文本操作-将文本复制到剪贴板.zip"包含了将文本内容复制到剪贴板的功能,这对于快速复制大量文本或在不同程序间共享信息非常方便。 标题中的“BAT批处理脚本”指的是使用Microsoft Windows...

    VB.NET中实现文本的复制粘贴(调用剪贴板)

    这样的设计可以让用户直观地体验到复制粘贴功能的实现。 4. 处理多线程问题: 在多线程环境中,需要注意剪贴板操作必须在UI线程中进行。可以使用Control.Invoke或BeginInvoke方法确保操作在正确的线程上执行。 5. ...

    jQuery实现复制到粘贴板功能

    jQuery实现复制到粘贴板的功能主要依赖于第三方插件ZeroClipboard。这个插件利用了Flash技术,因为Flash具备与系统剪贴板交互的能力,而JavaScript本身由于安全限制无法直接操作剪贴板。以下将详细介绍如何使用...

    复制到剪贴板的代码.rar

    在JavaScript中实现复制到剪贴板的功能,通常会包括以下步骤: 1. 创建一个按钮元素,作为用户触发复制操作的界面。 2. 使用事件监听器(如`addEventListener`)来捕捉用户的点击行为。 3. 在事件处理函数中,获取...

    js复制到粘贴板.zip

    标签"zclip"可能指的是ZClip,这是一个流行的JavaScript库,专门用于实现复制到剪贴板的功能。ZClip使用Flash技术,因此在旧版浏览器中可能有更好的兼容性。然而,随着Flash逐渐被淘汰,现代的解决方案更倾向于使用...

    QML使用剪贴板

    一个简单的QML剪贴板示例应用,实现复制和粘贴功能,可以如下所示: ```qml ApplicationWindow { id: window width: 640 height: 480 visible: true TextField { id: textField anchors.fill: parent ...

    易语言文件复制到剪贴板源码.7z

    "易语言文件复制到剪贴板源码.7z" 是一个压缩包,其中包含的源代码示例展示了如何在易语言中实现将文件内容复制到系统剪贴板的功能。这个功能在很多应用程序中都有应用,比如文件管理器、文本编辑器等,用户可以方便...

    jquery 一键复制指定内容到剪贴板

    "jquery 一键复制指定内容到剪贴板"是jQuery的一个常见应用,用于实现用户点击按钮后快速将特定文本复制到剪贴板的功能。这个功能在现代Web应用中广泛使用,比如复制代码示例、URL链接或任何其他需要快速共享的信息...

    js实现点击后将文字或图片复制到剪贴板的方法

    综上所述,通过JavaScript实现复制文字或图片到剪贴板的功能,可以根据实际的浏览器兼容性需求和项目的技术栈来选择合适的方法。随着浏览器对Web API的支持越来越完善,开发者在实现此类功能时将拥有更多选择。

    BAT批处理脚本-文本操作-将文本复制到剪贴板2.zip

    标题中的“BAT批处理脚本-文本操作-将文本复制到剪贴板2.zip”指出,这个压缩包包含的是一个与批处理相关的脚本,主要功能是将文本内容复制到计算机的剪贴板中,方便用户进行粘贴操作。批处理(BAT)是一种基于DOS和...

    Winform中实现将照片剪贴到剪贴板中并进行粘贴示例代码

    在Windows Forms(Winform)应用开发中,有时我们需要实现用户操作功能,比如将照片复制到剪贴板,然后能够在其他地方粘贴。这个过程涉及到Windows操作系统API和C#语言的结合使用。以下是一个详细的实现步骤及示例...

    C#实现从剪贴板复制图像到窗体

    这个过程涉及到Windows Forms控件和剪贴板类的使用,使得用户能够通过复制粘贴的方式在应用程序中处理图像。下面我们将详细探讨这个主题,分为以下几个部分: 1. **剪贴板类(Clipboard)** 剪贴板是Windows操作...

Global site tag (gtag.js) - Google Analytics