`
ariyue
  • 浏览: 345306 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

ie ff下Clipboard的读写js脚本

阅读更多
//Firefox下Clipboard的读写js脚本
/**************************************************
http://www.krikkit.net/howto_javascript_copy_clipboard.html
将字符串maintext复制到剪贴板
**************************************************/
function setClipboard(maintext) {
   if (window.clipboardData) {
      return (window.clipboardData.setData("Text", maintext));
   }
   else if (window.netscape) {
      netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
      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=maintext;
      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);
      return true;
   }
   return false;
}
/**************************************************
http://www.codebase.nl/index.php/command/viewcode/id/174
返回剪贴板的内容
**************************************************/
function getClipboard() {
   if (window.clipboardData) {
      return(window.clipboardData.getData('Text'));
   }
   else if (window.netscape) {
      netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
      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');
      clip.getData(trans,clip.kGlobalClipboard);
      var str = new Object();
      var len = new Object();
      try {
         trans.getTransferData('text/unicode',str,len);
      }
      catch(error) {
         return null;
      }
      if (str) {
         if (Components.interfaces.nsISupportsWString) str=str.value.QueryInterface(Components.interfaces.nsISupportsWString);
         else if (Components.interfaces.nsISupportsString) str=str.value.QueryInterface(Components.interfaces.nsISupportsString);
         else str = null;
      }
      if (str) {
         return(str.data.substring(0,len.value / 2));
      }
   }
   return null;
}
分享到:
评论
1 楼 haoyunkgq 2010-09-20  
朋友,这个在ff下貌似不行啊,我的ff是3.6.10
我用firebug提示错误:
eê "http://www.idea.com" „,à UniversalXPConnect CP
[Break on this error] netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); 

乱码也不知怎么解决?
请帮个忙吧!

相关推荐

    前端开源库-react-clipboard.js

    5. **兼容性**:React-Clipboard.js考虑了跨浏览器兼容性,支持现代浏览器以及部分旧版浏览器,确保在各种环境下都能正常工作。 **使用方法** 1. **安装**:首先,你需要使用npm或yarn来安装React-Clipboard.js库...

    clipboard.js 前台剪切板demo

    clipboard.js是一个github上的开源项目,clipboard.js 实现了纯 JavaScript (无 Flash)的浏览器内容复制到系统剪贴板的功能。可以在浏览器和 Node 环境中使用。支持 Chrome 42+、Firefox 41+、IE 9+、Opera 29+

    clipboard.js-master.zip

    clipboard.js的核心原理是利用了HTML5的`Clipboard API`,这是一个原生的浏览器API,可以让我们在JavaScript中方便地读写剪贴板内容。通过创建一个临时的隐藏元素,将需要复制的文本放入其中,然后触发模拟点击事件...

    Clipboard.js v1.5.15

    Clipboard.js 是一个轻量级的JavaScript库,专为实现网页上...总之,Clipboard.js v1.5.15是一个实用的JavaScript库,它简化了网页文本复制功能的实现,且能在多种环境下运行,对于开发者来说是一个非常有价值的工具。

    clipboard.min.js/clipboard.js

    然后,在JavaScript中引入`clipboard.min.js`或`clipboard.js`(未压缩版本): ```html <script src="clipboard.min.js"> ``` 最后,实例化`ClipboardJS`对象并指定目标元素: ```javascript var clipboard = ...

    js剪贴板插件clipboard.js

    《深入理解JavaScript剪贴板插件clipboard.js》 在现代Web开发中,用户交互的便捷性和效率至关重要。其中,复制和粘贴功能是常见的需求之一。为了满足这一需求,JavaScript库如clipboard.js应运而生,它为开发者...

    clipboard.js-master.rar

    【标题】"clipboard.js-master.rar" 是一个压缩包文件,其中包含了clipboard.js的源代码及其相关的示例。这个插件是专门为了实现网页中的复制和粘贴功能而设计的,尤其适用于那些希望提供简单、优雅的复制体验的...

    clipboard.js_v2.0.8.zip.cab

    clipboard.js_v2.0.8.zip.cab

    H5基于clipboard.js点击复制

    clipboard.js是一个轻量级、易于使用的库,专门用于复制文本到剪贴板,而无需复杂的JavaScript操作。 首先,我们需要理解浏览器的安全限制。出于安全考虑,浏览器并不允许脚本直接访问剪贴板。然而,HTML5引入了新...

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

    Clipboard.js依赖于浏览器的`execCommand('copy')`API,该API在大多数现代浏览器中都支持,但不包括IE9及以下版本。对于这些不支持的浏览器,可能需要使用其他方法,如Flash或者更复杂的解决方案。 此外,出于安全...

    clipboard.min.js下载

    "clipboard.min.js"是一个JavaScript库,专门用于实现网页中的复制和粘贴功能,极大地简化了开发者的工作。这个库是轻量级的,优化过后的“min”版本意味着它已经过压缩,体积小但功能强大。 "clipboard.min.js"的...

    clipboard.js

    "clipboard.js"是一个纯JavaScript库,专为实现网页上的复制、粘贴和剪切功能而设计,无需依赖Adobe Flash。这个库的出现是为了弥补在不同浏览器间实现这些基本操作时的兼容性问题,使得开发者可以轻松地在他们的...

    Clipboard.js

    - 考虑到旧版IE浏览器的兼容性,Clipboard.js 使用了Flash技术,但随着Flash逐渐被淘汰,对于不支持Flash的浏览器(如iOS Safari),需要确保有HTML5的`execCommand('copy')`方法的替代方案。 - 为了安全原因,...

    clipboard.min.js.zip

    然而,`execCommand()`在现代浏览器中的支持情况并不一致,`clipboard.js`通过检测浏览器特性,确保在各种环境下都能稳定工作。 在`clipboard.min.js`的使用上,我们需要先将其引入到HTML文件中。通常,我们会将其...

    clipboard.js v2.0.11

    clipboard.js v2.0.11,支持复制功能

    clipboard.js_一键复制_safetyzsr_clipboard.js_

    标题中的"clipboard.js_一键复制_safetyzsr_clipboard.js_"揭示了我们今天要讨论的核心技术——`clipboard.js`,这是一个轻量级的JavaScript库,主要用于实现网页中的一键复制功能。`clipboard.js`设计简洁,易于...

    clipboard.js 开发版本

    开发版本的clipboard.js 可以直接使用

    clipboard.js 点击复制指定文本源码

    由于`Clipboard API`不是所有浏览器都支持,`clipboard.js`在老版本的PC浏览器(如IE)中可能无法正常工作。对于这些情况,`clipboard.js`内部已经实现了基于Flash的备用方案。但需要注意的是,随着Flash逐渐被淘汰...

    clipboard.js包用法包含实例

    "clipboard.js包用法包含实例" 指的是一个JavaScript库,名为clipboard.js,它的主要功能是实现网页中文本的复制操作。这个库提供了简单易用的API,使得开发者无需依赖Flash或其他重量级技术,就能轻松地在前端实现...

Global site tag (gtag.js) - Google Analytics