zoukankan      html  css  js  c++  java
  • 单击复制文字兼容各浏览器

    单击复制文字的js。找了很久,由于之前没有接触过,完全不知道兼容ie及标准dom浏览器,不仅仅要通过js,而且需要flash的帮忙。clipboard.swf这个在网上都有下载.

    ie允许访问剪贴板。window.clipboardData可以访问

    但是标准dom。看了一些文章说的都是用flash设置隐藏。但是flash10是不支持。

    但是,还有个方法是可行的,固记录一下,以下方法支持标准dom.

    	(function () {
    		
    		window['Util'] = {
    			CACHE:{},
    			getText : function(){
    		        return Util.CACHE.CLIPBOARD_TEXT;
    		    },
    		    successHide : function(){
    		        alert("复制北海365网招聘邮件地址!");
    		    },
    			Copy : function (pStr,hasReturn, isdo) {
    
    					var html = [];
    					html.push('<object type="application/x-shockwave-flash" data="clipboard.swf?gettext=Util.getText&success=Util.successHide" width="50" height="40" style="position:relative;top:11px;left:-50px;" id="ff_clipboard_swf">');
    					html.push('<param name="quality" value="high" />');
    					html.push('<param name="allowScriptAccess" value="sameDomain" />');
    					html.push('<param name="allowFullScreen" value="true" />');
    					html.push('<param name="wmode" value="transparent" />');
    					html.push('</object>');
    					var yu=document.getElementById('copy').innerHTML;
    					document.getElementById('copy').innerHTML=yu+html.join('');
    					Util.CACHE.CLIPBOARD_TEXT = pStr;
    				
    			}
    		}
    		Util.Copy('zhaopin@beihai365.com ');
    
    	})();
    

      

    如果要兼容ie。还得加上

    if (window.clipboardData) {
    	window.clipboardData.setData("Text",pStr);
    	Util.successHide();
    }
    

      

    最后这样能实现单击复制文字,并且兼容各浏览器。记住。swf的路径一定要对!如果不对是不出现手型的,这是特征。

    	(function () {
    		window['Util'] = {
    			CACHE:{},
    			getText : function(){
    		        return Util.CACHE.CLIPBOARD_TEXT;
    		    },
    		    successHide : function(){
    		        alert("复制北海365网招聘邮件地址!");
    		    },
    			Copy : function (pStr,hasReturn, isdo) {
    				var copy=document.getElementById('copy');
    				if (window.clipboardData) {
    					copy.onclick=function(){
    						window.clipboardData.setData("Text",pStr);
    						Util.successHide();
    					}
    				} else {
    					var html = [];
    					html.push('<object type="application/x-shockwave-flash" data="clipboard.swf?gettext=Util.getText&success=Util.successHide" width="50" height="40" style="position:relative;top:11px;left:-50px;" id="ff_clipboard_swf">');
    					html.push('<param name="quality" value="high" />');
    					html.push('<param name="allowScriptAccess" value="sameDomain" />');
    					html.push('<param name="allowFullScreen" value="true" />');
    					html.push('<param name="wmode" value="transparent" />');
    					html.push('</object>');
    					var yu=copy.innerHTML;
    					copy.innerHTML=yu+html.join('');
    					Util.CACHE.CLIPBOARD_TEXT = pStr;
    				}
    			}
    		}
    		Util.Copy('zhaopin@beihai365.com ');
    
    	})();
    

      

    哎呀好饿,之后再整理。

  • 相关阅读:
    Enterprise Library 企业库 V4.1
    跨域实现IFRAME自适应高度
    微软企业库4.1学习笔记(二)各功能之间的依赖关系以及对象创建
    微软企业库4.1学习笔记(三)企业库迁移和并行使用,以及企业库的扩展
    微软企业库4.1学习笔记(五)对象创建和依赖注入方法
    判断 iframe 是否加载完成的完美方法
    对JavaScript调用堆栈和setTimeout用法的深入研究
    工作流技术杂谈
    企业流程管理平台V2.0介绍(.NET平台下的工作流)
    c#操作oracle lob字段[转自 芽芽的回收站]
  • 原文地址:https://www.cnblogs.com/ihqn19/p/3080384.html
Copyright © 2011-2022 走看看