当前位置:首页 > JavaScript > 正文内容

JavaScript对粘贴板的全操作

canca18年前 (2007-09-12)JavaScript378
<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对粘贴板的全操作” 的相关文章

JavaScript 函数原型对象

    以下是一篇本人在Qzone里写下的文章,现在放到这里来,欠丑了。希望对一些初学者有一点点帮助。     今天给大家说说JavaScript中的类。类?没错。JavaScript中的函数原型对象就是OOP中人们熟悉的类。JS...

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 中面向对象编程 (类的构造)

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

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

javascrip 事件追加方法

基本方法:attachEvent(IE)/detachEvent;addEventListener( Mozilla, Netscape, Firefox)/removeEventListener在之前的邏輯判斷式的基礎上,在設計javascript的時候,可以針對瀏覽器的不同,寫出適合不同種類瀏覽...

Javascript 逻辑表达式

1>逻辑表达式    看例子:     var cc;      var  dd=new Object();      var false1="false...

发表评论

访客

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