`
hwpok
  • 浏览: 251641 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

javascript 操作剪切板 ie firefox 兼容

阅读更多
copyPaste.js
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->
/**********************************************************
复制maintext到贴切板
**********************************************************
*/
function setClipboard(maintext) 
{
    
if (window.clipboardData) 
    {
        
return (window.clipboardData.setData("Text", maintext));
    } 
    
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");
            
var str = new Object();
            
var len = new Object();
            
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
            
var copytext = maintext;
            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);
            
return true;
            }
            
catch(e)
            {
                alert(
"您的firefox安全限制限制您进行剪贴板操作,请打开'about:config'将signed.applets.codebase_principal_support'设置为true'之后重试,相对路径为firefox根目录/greprefs/all.js");
                
return false;
            }
        }
    }
    
return false;
}
/**********************************************************
粘贴剪切板的内容
**********************************************************
*/
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;
}



分享到:
评论

相关推荐

    JS_FF--IE (兼容_数据直接添加到剪切板)

    总结来说,"JS_FF--IE (兼容_数据直接添加到剪切板)" 是关于如何在JavaScript中实现跨浏览器的剪贴板操作,尤其是针对IE和Firefox这两种浏览器的不同实现方式。这个功能在网页应用中非常有用,可以让用户方便地复制...

    FF--IE (兼容) 数据直接添加到剪切板

    这个给定的文件介绍了一个JavaScript函数`CopyContent`,该函数用于在Firefox(FF)和Internet Explorer(IE)浏览器中兼容性地将数据添加到用户的剪贴板。 首先,我们要理解JavaScript操作剪贴板的基本概念。在...

    兼容浏览器的单击按钮复制到剪切板

    标题所提及的问题在于,这个功能在不同浏览器上可能存在兼容性问题,例如IE(Internet Explorer)通常可以支持,但Firefox(火狐浏览器)可能无法正常工作。为了解决这个问题,开发者们常常会采用多种技术,如Flash...

    clipboard复制文本或者隐藏域到剪切板,兼容ie.chrome.firefox

    针对这个问题,`clipboard.js`应运而生,它提供了一种优雅且兼容多浏览器的方式来实现文本复制功能,包括IE、Chrome和Firefox等主流浏览器。 `clipboard.js`是一个轻量级的库,它的主要作用是简化了浏览器的剪贴板...

    js jquery复制到剪切板,绝对能用,兼容360 ie 火狐等浏览器

    这个"js jquery复制到剪切板"的解决方案针对的是一个关键的问题:跨浏览器的兼容性,确保在360浏览器、Internet Explorer(IE)以及Firefox等不同浏览器上都能正常工作。 首先,我们要理解在JavaScript中实现复制...

    兼容各浏览器的复制内容到剪切板

    1. **跨浏览器兼容性**:在不同的浏览器(如Chrome、Firefox、Safari、Edge和IE)中,复制和粘贴功能的实现方式不尽相同。开发者需要处理这些差异,确保代码在所有主流浏览器上都能正常运行。 2. **JavaScript API*...

    JS复制内容到剪切板的实例代码(兼容IE与火狐)

    在现代浏览器中,如Chrome、Firefox等,已经提供了较为统一的复制到剪切板的API,但在兼容性问题上,特别是较早的IE(Internet Explorer)浏览器,我们需要使用特殊的方法来实现这一功能。 ### 知识点二:兼容IE与...

    clipboard.js 前台剪切板demo

    将文本复制到剪切板是前台js的事,但是浏览器众多,怎么才能兼容各种版本的浏览器,让我们轻松写出一键复制到剪切板的js代码.这时就该clipboard.js出场了. clipboard.js是一个github上的开源项目,clipboard.js 实现了...

    支持IE,firefox,Chrome复制到剪贴板的JS+FLASH插件ZeroClipboard下载

    它不仅支持Internet Explorer(早期版本可能需要Flash支持),还支持Firefox、Chrome等现代浏览器。这意味着无论用户使用哪种浏览器,只要他们的系统中安装了Flash插件,就可以享受到复制到剪贴板的便捷功能。这对于...

    支持多浏览器(IE、Firefox、Opera)剪切板复制函数_脚本之家修正版

    本文主要介绍一个针对IE、Firefox、Opera等多浏览器的剪切板复制函数的实现方法,以及解决在Firefox中遇到的安全限制。 首先,对于IE浏览器,它提供了`window.clipboardData`对象来与剪切板交互。我们可以通过以下...

    JavaScript使用ZeroClipboard操作剪切板

    ZeroClipboard是一个基于Flash的...以上就是对于使用JavaScript结合ZeroClipboard库操作剪切板的相关知识点的详细说明。通过上述步骤,开发者可以在网页上实现一个简单且直观的复制功能,提升用户的交互体验。

    jQuery获取剪贴板内容的方法

    例如,IE和Firefox浏览器在特定条件下允许直接访问剪贴板,但大部分现代浏览器如Chrome、Safari、Opera则不允许。为了兼容这些现代浏览器,常见的做法是使用Flash或其他插件来间接访问剪贴板数据。 #### 兼容性考虑...

    简单实现兼容各大浏览器的js复制内容到剪切板

    首先,我们遇到的问题是`window.clipboardData.setData`方法只能在IE和Firefox中工作,无法在其他如360浏览器、搜狗浏览器等非主流浏览器中生效。这是因为浏览器之间的差异以及安全限制,导致了跨浏览器的复制功能...

    一直都需要的复制到系统剪贴板之IE,firefox兼容版

    本文标题中的“IE, firefox兼容版”指的是实现了在Internet Explorer(IE)和Firefox浏览器中复制到系统剪贴板功能的代码,并且确保了其兼容性。 从描述中可以看出,该技术实现是为了方便用户在多个浏览器环境下...

    js复制到剪切板的实例方法

    ### JavaScript复制到剪切板的方法 #### 知识点概览 本文主要介绍了一种JavaScript实现复制文本到剪切板的方法。此方法适用于多种浏览器环境,包括Internet Explorer、Opera以及基于Mozilla内核的浏览器(如Firefox...

    实现复制到粘贴板

    `ZeroClipboard`库兼容多种浏览器,包括IE和Firefox,这与提供的文件名"zeroclipboard"相符。 在实际开发中,使用`ZeroClipboard`库的步骤通常如下: 1. 引入`ZeroClipboard.js`库文件。 2. 创建一个HTML元素作为...

    js剪切板应用clipboardData实例解析

    JavaScript 中的 `clipboardData` 对象是用于处理剪切板数据的接口,它允许我们在用户的复制、剪切和粘贴操作中访问和操作剪贴板上的内容。在本文中,我们将深入探讨如何使用 `clipboardData` 实现剪切板应用,并...

    JS实现获取剪贴板内容的方法

    需要注意的是,上述代码在现代浏览器中可能不适用,因为像Chrome、Firefox等浏览器引入了更严格的同源策略和权限控制。例如,使用`Clipboard API`可以实现跨浏览器的兼容性,但需要遵循一定的权限规定,如使用`async...

    jQuery简单实现点击文本框复制内容到剪贴板上的方法

    而对于非IE浏览器,如Firefox、Chrome等,我们需要使用更复杂的API,如`nsIClipboard`接口。 以下是实现这个功能的jQuery代码: ```javascript // 定义复制到剪贴板的函数 function copyToClipboard(txt) { // ...

Global site tag (gtag.js) - Google Analytics