单击复制文字兼容各浏览器的完美解决方案_javascript技巧

单击复制文字的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 ');
})();

时间: 2024-09-11 22:41:29

单击复制文字兼容各浏览器的完美解决方案_javascript技巧的相关文章

单击复制文字兼容各浏览器的完美解决方案

单击复制文字的js.找了很久,由于之前没有接触过,完全不知道兼容ie及标准dom浏览器,不仅仅要通过js,而且需要flash的帮忙.clipboard.swf这个在网上都有下载. ie允许访问剪贴板.window.clipboardData可以访问 但是标准dom.看了一些文章说的都是用flash设置隐藏.但是flash10是不支持. 但是,还有个方法是可行的,固记录一下,以下方法支持标准dom. 复制代码 代码如下: (function () { window['Util'] = { CACH

JavaScript 实现完美兼容多浏览器的复制功能代码_javascript技巧

分享一段利用 JavaScript 实现复制功能的代码,兼容多浏览器,兼容IE和火狐浏览器. <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>JavaScript 复制功能代码,兼容多浏览器&l

javascript 兼容所有浏览器的DOM扩展功能_javascript技巧

今天周五,很闲,坐在电脑前没什么事可做,产品线的人也没提什么新的需求,可能下周会有新的需求和工作安排,但那是下周的事了.今天就想写点技术的东西,也就当作是记记笔记,本人水平有限,希望大家多多指教,嘴下留情,哈哈. 有时候我们会想扩展DOM元素的功能,可以添加一些自定义的方法,以让它用起来更加灵活.方便:先来举个例子: 复制代码 代码如下: <!DOCTYPE html><html lang="zh"> <head>  <title>DOM

Javascript iframe交互并兼容各种浏览器的解决方法_javascript技巧

在Web前端开发中,我们经常会用到iframe这个控件. 但是这个控在内.外交互时,往往各个浏览器所用的关键字不同,很是麻烦,为了能够得到子iframe中的window对象,各家浏览器有着各家的指定,有的是window,有的是contentWindow等等也许还有我们不知道的. 但是从子页面访问父层页面,其本上大家都是window.parent就可以了. 那么通过这个特征,我们可以在子页面中,把自身的window对象传递给父页面就可以了,这样父页面就很轻松的访问子页面,再也不用靠虑如何从ifra

IE6兼容透明背景图片及解决方案_javascript技巧

首先给大家展示效果图: JS代码:  <!--[if IE 6]> <script src="~/Scripts/UI/DD_belatedPNG.js"></script> <script> $(function () { //1.通过公共类 DD_belatedPNG.fix(".pngFix,.pngFix:hover"); //2.直接用选择器:类名,ID,标签 DD_belatedPNG.fix("

IE6 fixed的完美解决方案_javascript技巧

第一种方法:纯CSS 目前网上有的比较多的是这种解决方案(纯CSS): 复制代码 代码如下: html{overflow:hidden;} body{height:100%;overflow:auto;} #rightform form{position:absolute;right:30px;top50px;} 这个方法有一个bug未解决:在IE6下会把所有position:absolute都变成"浮动"的元素:还有使用js方法滚动滚动条时会出现对象闪烁,如下方法结合了CSS和js的

Javascript 判断函数类型完美解决方案_javascript技巧

但是,有一些细节并不为我们所熟知.John Resig 在分析了这些细节之后,为我们提供了一个完美的解决方案,本文将作详细介绍: 一.传统方法不为人所知的细节 毫无疑问,在判断函数类型时,我们使用的是typeof方法,比如: 复制代码 代码如下: function fn(){ //content } alert(typeof fn)//结果是"function". 但是,该方法在一些浏览器中并不是像我们想像的那样工作. 1.Firefox2和Firefox3 在这两个浏览器中,用typ

MC Dialog js弹出层 完美兼容多浏览器(5.6更新)_javascript技巧

效果图:MC Dialog 功能特点 1.支持键盘操作(esc关闭,enter执行当前获得焦点按钮的事件,屏蔽了ctrl键盘,屏蔽了tab键真正实现了一个模拟浏览器自带对话框的功能) 2.支持焦点智能移动(当焦点移出层外时,自动将焦点移回层或者有按钮则移到按钮上,保证焦点始终在层上,确保快捷键操作正确) 3.智能闪烁提示功能(当焦点移出层外部,比如你在层外点击了,则层会闪烁提示你必须在当前层操作,这里完美模拟了浏览器自带对话框的操作) 4.支持按钮外接回调事件(可以自定回调事件,绑定给按钮) 5

纯JS实现五子棋游戏兼容各浏览器(附源码)_javascript技巧

纯JS五子棋(各浏览器兼容) 效果图:  代码下载 HTML代码 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;"> <title>五子棋</title> <link rel="stylesheet" type="text/