支持多浏览器的操作剪切板

其实吧,依我看,本来就是行不通的事情。

但是现在好像是可以的了,最近一个项目需要研究了下,以前使用的是javascript实现的,但是发现火狐下需要设置参数才能使用,我以前的代码是:

//复制到剪切板js代码
function copyToClipBoard(s){
    //alert(s);
    if(window.clipboardData){
       window.clipboardData.setData("Text",s);
       alert("已经复制到剪切板!"+s);
    }else if(navigator.userAgent.indexOf("Opera") != -1) {  
       window.location = s;  
    }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);  
        if (!clip)  
            return;  
        var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);  
        if (!trans)  
            return;  
        trans.addDataFlavor('text/unicode');  
        var str = new Object();  
        var len = new Object();  
        var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);  
        var copytext = s;  
        str.data = copytext;  
        trans.setTransferData("text/unicode",str,copytext.length*2);  
        var clipid = Components.interfaces.nsIClipboard;  
        if (!clip)  
            return false;  
        clip.setData(trans,null,clipid.kGlobalClipboard);  
        alert("已经复制到剪切板!"+"\n"+s)  
    }
}

是可以实现的,但是兼容性不是那么好,我没有google浏览器,貌似反馈回来的结果就是不能工作。再找其他的办法吧,发现这样一段代码:

<object width="90" height="14" id="clippy" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000">
      <param value=" http://aptana.com/flash/clippy.swf" name="movie">
      <param value="always" name="allowScriptAccess">
      <param value="high" name="quality">
      <param value="noscale" name="scale">
      <param value="text= 要复制的文本" name="FlashVars">
      <param value="#e5e5e5" name="bgcolor">
      <embed width="90" height="14" bgcolor="#e5e5e5" flashvars="text= 要复制的文本" pluginspage=" http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" allowscriptaccess="always" quality="high" name="clippy" src=" http://aptana.com/flash/clippy.swf">
      </object>

用的是SWF,利用flash可以操作剪切板来进行~

  1. ⍎开户送88元⍎
    凯斯
    澳门沙龙
    皇城国际
    凯盛国际
    庞博娱乐城
    天成国际
    7.rmb88.ga