`
chasewinds
  • 浏览: 15558 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

ie,FF实现粘贴(转载)

阅读更多
原文链接

http://blog.sina.com.cn/s/blog_48e05c0c0100fa1b.html

function getClipboard()
    {
     if (window.clipboardData)
     {
      return (window.clipboardData.getData('text'));
     }
     else
     {
      if (window.netscape)
      {
       try
       {
        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();
        trans.getTransferData('text/unicode', str, len);
       }
       catch (e)
       {
        alert("您的firefox安全限制限制您进行剪贴板操作,请打开'about:config'将signed.applets.codebase_principal_support'设置为true'之后重试,相对路径为firefox根目录/greprefs/all.js");
        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;
    }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics