最新
文章专题
视频专题
问答1
问答10
问答100
问答1000
问答2000
关键字专题1
关键字专题50
关键字专题500
关键字专题1500
TAG最新
视频文章
推荐1
推荐3
推荐5
推荐7
推荐9
推荐11
推荐13
推荐15
推荐17
推荐19
推荐21
推荐23
推荐25
推荐27
推荐29
推荐31
推荐33
推荐35
推荐37
视频文章20
视频文章30
视频文章40
视频文章50
视频文章60
视频文章70
视频文章80
视频文章90
视频文章100
视频文章120
视频文章140
视频2
关键字专题
关键字专题
tag2
tag3
文章专题
文章专题2
文章索引1
文章索引2
文章索引3
文章索引4
文章索引5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
文章专题3
科技
教育
生活
旅游
时尚
美容
美食
健康
体育
游戏
汽车
元宇宙
家电
财经
百科
科技
首页
业界
互联网
手机
AI
VR
电商
苹果
安卓
6G
5G
数码
测评
学院
鸿蒙
软件
电脑
知识百科
专题
点击下载
本文文档
当前位置:
首页
-
科技
-
知识百科
-
正文
复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题_javascript技巧
来源:动视网
责编:小采
时间:2020-11-27 20:49:58
复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题_javascript技巧
复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题_javascript技巧:但IE6两行JS代码就可以,IE7以上也差不多,只不过出来一个安全提示比较恶心,用户如果看到了,一定有怀疑; 再但就是Firefox、Chrome等根本就不让你复制; 记得以前网上有这方面的代码,找了一下,发现全部不能在firefox3.5以上的版本中应该,最后终于找到了
推荐度:
点击下载本文
文档为doc格式
导读
复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题_javascript技巧:但IE6两行JS代码就可以,IE7以上也差不多,只不过出来一个安全提示比较恶心,用户如果看到了,一定有怀疑; 再但就是Firefox、Chrome等根本就不让你复制; 记得以前网上有这方面的代码,找了一下,发现全部不能在firefox3.5以上的版本中应该,最后终于找到了
但IE6两行JS代码就可以,IE7以上也差不多,只不过出来一个安全提示比较恶心,用户如果看到了,一定有怀疑;
再但就是Firefox、Chrome等根本就不让你复制;
记得以前网上有这方面的代码,找了一下,发现全部不能在firefox3.5以上的版本中应该,最后终于找到了一个,代码还相当相当的复杂,不太敢用。
最后,憋的实在没有办法了,查了查资料,自已写了一个:
主要的理解的几个点:
1、Firefox这些浏览器,出于安全考虑吧,直接是不让复制的;
2、在Flash中,可以用System.setClipboard(),把内容扔到剪贴板上,然后再让FLASH工作在Firefox下;
3、在Flash播放器10.0之后呢,也是出于安全考虑吧,System.setClipboard的内容必须在FLASH里边;
4、用ExternalInterface可以和JS通信;
5、ExternalInterface在flash8中必须引用一下才可以;
默认的HTML代码:
代码如下:
copy
所以,设计的时候,先作第一个判断,如果是IE,就还用默认的代码,这样最没有问题,如果不是,就用一个FLASH把默认的按钮覆盖;
代码如下:
if (window.XMLHttpRequest){//如果不是IE时,就用FLASH的方式复制
$('buttonBox').innerHTML = '
height="23" quality="high"
pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash">
';
}
以下是所有的JS文件:
代码如下:
function $(id){
return document.getElementById(id);
}
function copy(){//ie6
var value = $('testInput').value;
window.clipboardData.clearData();
window.clipboardData.setData("Text", value);
alert('复制成功!');
}
function flashCopy(){//firefox .......
return $('testInput').value;
}
function flashCopyBack(){
alert('复制成功!');
}
if("v" != "v"){//如果不是IE时,就用FLASH的方式复制
$('buttonBox').innerHTML = '
';
}
script>
FLASH按钮的代码如下:
代码如下:
on (release) {
import flash.external.ExternalInterface;
var inputText = ExternalInterface.call('flashCopy');
System.setClipboard(inputText);
ExternalInterface.call('flashCopyBack');
//_root.boboText.text = inputText;
}
原理,就是避开那个安全上的,在点FLASH中的按钮时,通过FLASH中的代码去调页面中的JS代码,JS代码可以拿到INPUT中的值,然后再传给FLASH,这时,FLASH中就有了这些值了,然后,FLASH自已再通过System.setClipboard把这些值存到剪贴板上; 再然后,他再去调用页面中的flashCopyBack,flashCopyBack只干一件事,就是提示已复制成功!
我在Firefox、chrome、ie中都测过了,没有问题,如果谁发现有问题,请告诉我,谢谢,因为我现在已经开始用!
转载请注明出处:子鼠
复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题_javascript技巧
复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题_javascript技巧:但IE6两行JS代码就可以,IE7以上也差不多,只不过出来一个安全提示比较恶心,用户如果看到了,一定有怀疑; 再但就是Firefox、Chrome等根本就不让你复制; 记得以前网上有这方面的代码,找了一下,发现全部不能在firefox3.5以上的版本中应该,最后终于找到了
推荐度:
点击下载本文
文档为doc格式
标签:
内容
代码
问题
热门焦点
最新推荐
猜你喜欢
热门推荐
专题
Top