zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    pidgin的未认证解决办法
    题解【洛谷P1074】[NOIP2009]靶形数独
    题解【洛谷P1315】[NOIP2011]观光公交
    题解【BZOJ4145】「AMPPZ2014」The Prices
    题解【洛谷P4588】[TJOI2018]数学计算
    题解【洛谷P3884】[JLOI2009]二叉树问题
    题解【SP8002】HORRIBLE
    树链剖分学习笔记
    题解【洛谷P1807】最长路_NOI导刊2010提高(07)
    题解【洛谷P1995】口袋的天空
  • 原文地址:https://www.cnblogs.com/johnwonder/p/1755625.html
Copyright © 2011-2022 走看看