ClipboardData兼容

今天goole了好多资料。。。

function copyToClipboard(txt)
{
 if(window.clipboardData)
 { 
  window.clipboardData.clearData();
  window.clipboardData.setData("Text", txt);
 }
 else if(navigator.userAgent.indexOf("Opera") != -1)
 {
  window.location = txt;
 }
 else if (window.netscape)
 {
  try
  { 
   netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  }
  catch (e)
  { 
   alert("!!被浏览器拒绝!/n请在浏览器地址栏输入’about:config’并回车/n然后将’signed.applets.codebase_principal_support’设置为’true’");
  }
  var clip = Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(Components.interfaces.nsIClipboard);
  /*
   for(var i in clip)
   {
    alert(i+"   "+clip[i]);
   }
  */
  if (!clip) return;
  var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
  /*
   for(var i in trans)
   {
    alert(i+"   "+trans[i]);
   }
  */
  if (!trans) return;
  trans.addDataFlavor("text/unicode");
  var str = new Object();
  var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
  /*
   for(var i in str)
   {
    alert(i+"   "+str[i]);
   }

  */
   str.data = txt;
   trans.setTransferData("text/unicode",str,txt.length*2);
  var clipid = Components.interfaces.nsIClipboard;
   if (!clipid)return false;
   clip.setData(trans,null,clipid.kGlobalClipboard);
 }
 return true;
}

 

似乎还有一种

function copyText (txt) {
    if (window.clipboardData) window.clipboardData.setData ('Text', txt);
    else {
        var flashBox = document.getElementById ('flashBox');
        if (!flashBox) {
            flashBox = document.createElement ('div');
            flashBox.id = 'flashBox';
            document.body.appendChild (flashBox);
        }
        flashBox.innerHTML = '<embed src="clipboard.swf" FlashVars="clipboard=' + escape (txt) + '" '+'width="0" height="0" type="application/x-shockwave-flash"></embed>';
    }
}

不清楚flash是怎么实现的 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值