zoukankan      html  css  js  c++  java
  • Javascript实现复制功能,兼容所有浏览器问题及注意事项

    Google source 开放了JavaScript代码: zeroclipboard  , 实现 "复制到剪切板"的功能,并支持所有浏览器.

    测试案例: http://www.javbon.com/resources/zeroclipboard/test.html 

    参考文档: http://code.google.com/p/zeroclipboard/wiki/Instructions

    方法介绍:

    1) 引入ZeroClipboard.js/ZeroClipboard.swf 2个文件即可.

       2个文件与对应的页面最好是放在同一目录, 如果不是同一目录, 则可能需要修改ZeroClipboard.js里面的 moviePath: 路径值. (js的相对路径没有处理好, 比较狗血)

    2) 加入asp.net网页后, 出现Mathon浏览器反而不支持复制功能的情况, 并出现报错.

        解决方法是用try方法捕捉错误后, 用window.clipboardData.setData("Text", "text value")  代替.                          

    参考代码:

                    <script language="JavaScript">
                        var clip = new ZeroClipboard.Client();
    
                        clip.setText(''); // will be set later on mouseDown 
                        clip.setHandCursor(true);
                        clip.setCSSEffects(true);
    
                        clip.addEventListener('load', function(client) {
                            // alert( "movie is loaded" ); 
                        });
    
                        clip.addEventListener('complete', function(client, text) {
                            //alert("Copied text to clipboard: " + text);
                            alert("已复制成功到剪切板." );
                        });
    
                        clip.addEventListener('mouseOver', function(client) {
                            // alert("mouse over");  
                        });
    
                        clip.addEventListener('mouseOut', function(client) {
                            // alert("mouse out");  
                        });
    
                        clip.addEventListener('mouseDown', function(client) {
                            try{
                                // set text to copy here
                                clip.setText(document.getElementById('txtLogiName').value); 
                            }
                            catch (err) {
                                var clipBoardContent = document.getElementById("txtLogiName").value;
                                window.clipboardData.setData("Text", clipBoardContent);                             
                            }
                        
                            // alert("mouse down");  
                        });
    
                        clip.addEventListener('mouseUp', function(client) {
                            // alert("mouse up");  
                        });
    
                        clip.glue('d_clip_button'); 
                    </script> 
    

      

    感谢新浪博客文章提供参考: http://blog.sina.com.cn/s/blog_842f551e01019qn8.html

  • 相关阅读:
    【Linux】命令——基本命令
    正则表达式
    Letex
    Markdown
    文本编辑器Vim
    【Linux】集群
    【Linux】软件安装
    共线性synteny
    windows触控手势
    【Linux】bin结尾的安装包
  • 原文地址:https://www.cnblogs.com/gaoxihan/p/2919891.html
Copyright © 2011-2022 走看看