window.clipboardData(转载)

  1. function copyToClipboard(txt) {   
  2.      if(window.clipboardData) {   
  3.              window.clipboardData.clearData();   
  4.              window.clipboardData.setData("Text", txt);   
  5.      } else if(navigator.userAgent.indexOf("Opera") != -1) {   
  6.           window.location = txt;   
  7.      } else if (window.netscape) {   
  8.           try {   
  9.                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");   
  10.           } catch (e) {   
  11.                alert("被浏览器拒绝!\n请在浏览器地址栏输入'about:config'并回车\n然后将 'signed.applets.codebase_principal_support'设置为'true'");   
  12.           }   
  13.           var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);   
  14.           if (!clip)   
  15.                return;   
  16.           var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);   
  17.           if (!trans)   
  18.                return;   
  19.           trans.addDataFlavor('text/unicode');   
  20.           var str = new Object();   
  21.           var len = new Object();   
  22.           var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);   
  23.           var copytext = txt;   
  24.           str.data = copytext;   
  25.           trans.setTransferData("text/unicode",str,copytext.length*2);   
  26.           var clipid = Components.interfaces.nsIClipboard;   
  27.           if (!clip)   
  28.                return false;   
  29.           clip.setData(trans,null,clipid.kGlobalClipboard);   
  30.           alert("复制成 功!")   
  31.      }   

转自:http://www.javaeye.com/topic/125198

window.clipboardData的作用是在页面上将需要的东西复制到剪贴板上,提供了对于预定义的剪贴板格式的访问,以便在编 辑操作中使用。

成员表

下面的表格列出了 clipboardData 对象引出的成员。

 

方法 描述
clearData 通过 dataTransferclipboardData 对象从剪贴板删除一种或多种数据格式。
getData 通过 dataTransferclipboardData 对象从剪贴板获取指定格式的数据。
setData 以指定格式给 dataTransferclipboardData 对象赋予数据。

注释

clipboardData 对象是为通过编辑菜单、快捷菜单和快捷键执行的编辑操作所保留的。该对象使用系统剪贴板传送信息并保留至下一个编辑操作冲掉它。数据传送的格式特别适合于 多次粘贴相同的数据。

此对象在 Microsoft® Internet Explorer 5 的脚本中可用。

示例

下面的例子使用了 clipboardData 对象的 setDatagetData 方法通过快捷菜单执行剪切粘贴操作。

<SCRIPT>
var bResult;
// 选中要剪切的文本。在剪切事件中文本选中区的尾随空格导致剪
// 切选快捷菜单项目保持无效。
function fnLoad() {
var r = document.body.createTextRange();
r.findText(oSource.innerText);
r.select();
}

// 启用剪切快捷菜单项目,该项目在 DIV 上时默认为无效
function fnBeforeCut() {
event.returnValue = false;
}

// 以文本格式给 window.clipboardData 对象赋予数据。
// 将 setData 方法的结果 (Boolean) 显示在下面的输入框内。
function fnCut(){
event.returnValue = false;
bResult = window.clipboardData.setData("Text",oSource.innerText);
oSource.innerText = "";
tText.innerText += bResult;
}

// 启用粘贴快捷菜单项目,该项目在 DIV 上时默认也为无效
function fnBeforePaste() {
event.returnValue = false;
}

// 在 onpaste 中取消 returnValue 以便输入文本,该操作有默认
// 的行为。
function fnPaste() {
event.returnValue = false;
oTarget.innerText = window.clipboardData.getData("Text");
}

</SCRIPT>
</HEAD>

<BODY onload="fnLoad()" TOPMARGIN=0 LEFTMARGIN=0 BGPROPERTIES="fixed" BGCOLOR="#FFFFFF"
LINK="#000000" VLINK="#808080" ALINK="#000000">

<DIV CLASS="clsSource" ID="oSource" onbeforecut="fnBeforeCut()" oncut="fnCut()">选中并剪切此文本</DIV>
<DIV CLASS="clsTarget" ID="oTarget" onbeforepaste="fnBeforePaste()" onpaste="fnPaste()">将文本粘贴在这里</DIV><BR>

<SPAN CLASS="clsData">setData 结果:</SPAN>
<INPUT CLASS="clsText" ID="tText" TYPE="text" READONLY VALUE="" SIZE="6" TABINDEX="-1">

</BODY>
此特性需要 Microsoft® Internet Explorer 5.0 或以后版本。请单击下面的图标安装最新版本。然后重新装入此页再查看示例。
 
另外,对于工具中的参数传递,也许有另外的解决方法,即通过地址栏传递参数,然后在目标页面获取 地址栏中传递的参数,然后再进行使用。(设想,未实施。)
 
通过实验发现一个问题,这种方法只能传递一个参数,如果用在页面间传递参数的时候。因为只有 TEXT,URL,HTML等格式,如果我想用这个方法一次传递多个参数,不可用(无法解决。)
转自:http://blog.sina.com.cn/s/blog_61190cf30100e6rr.html

原文地址:https://www.cnblogs.com/johnwonder/p/1755625.html