当前位置:首页 > JavaScript

JavaScript对粘贴板的全操作

canca19年前 (2007-09-12)JavaScript410
<html>
    <head>
        <script language="javascript">
function copy_clip(copyObjectName){
    var con = document.getElementById(copyObjectName);
    var mytext = con.value;
    
    if (window.clipboardData){
        // IE
        window.clipboardData.setData("Text", mytext);
        // Netscape
    }else if(navigator.userAgent.indexOf("Opera") != -1) {
        alert("暂不支持Opera");
        return false;
  }else if (window.netscape){
        try{
            netscape.security.PrivilegeManager.enablePrivilege ('UniversalXPConnect');
        }catch(e){
            alert("被浏览器拒绝!\n请在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");
        }
        var copytext=mytext;
        //alert("copytext set");
        var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
        //alert("Just tried to set str")
        if (!str) return false;
        str.data = copytext;
        //alert("Just set str.data");
        var trans = Components.classes["@mozilla.org/widget/transferable;1"].
        createInstance(Components.interfaces.nsITransferable);
        if (!trans) return false;
        //alert("Just set trans");
        trans.addDataFlavor("text/unicode");
        trans.setTransferData("text/unicode",str,copytext.length * 2);

        var clipid = Components.interfaces.nsIClipboard;
        var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(clipid);
        if (!clip) return false;
        
        clip.setData(trans,null,clipid.kGlobalClipboard);
    }
    alert("Following info was copied to your clipboard:\n\n" + mytext);
    return false;
}

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;
}


        </script>
    </head>
    <body>
        <input type="text" value="中国人不是东亚病夫!" onclick="copy_clip('txtOne');" id="txtOne"/>
    </body>
</html>

CopyRight(C) CAnca Software Office.2007

扫描二维码推送至手机访问。

版权声明:本文由Ant.Master's Blog发布,如需转载请注明出处。

本文链接:https://iant.work/post/555.html

标签: JavaScript
分享给朋友:

“JavaScript对粘贴板的全操作” 的相关文章

《Dom Scripting》读书笔记

  《Dom Scripting》读书笔记 Canca         最近看了一本《Jeremy Keith: DOM Scripting, Web design with JavaScript and the DOM. Apr…

javascript MailTo 邮件技巧

调用email的方法 //<a href="mailto:talantlee@126.com">Email</a>window.location.href="mailto:talantlee@126.com";myform.action="mailto:talant…

javascript 中面向对象編程 (类的继承)

// 人的基類var Person=new ( function(){  var sex;  var name;  this.getSex=function() &nbs…

javascript IE与FireFox 一些兼容写法

1>获取控件用document.getElementById,不用document.all(FF等浏览器不支持)2><button> 会被firefox解释为提交form或者刷新页面,需要写标准<button type="button">3>使用childN…

javascript 弹出式窗体详解

1>window.prompt(text, value) 簡單的基與模態窗體的對話框,(返回你輸入)   var v=window.prompt("提示","請輸入你的名字")2>window.confirm(text,mess)  模態確認框(返回"是/否…

javascript 中面向对象编程 (类的构造)

javascript 中面向对象编程 (类的构造)

不論是用java,還是c#,又或是vb,構建一個對象都很簡單,都可以采用 classobj =new classobj()的方法構造一個類,然后使用其中的屬性以及方法,其實javascript也是一樣可以實現的。    示例:建立一個js文件,定義一個...…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。