牛角尖之js:点击复制

前两日学习中,想要在随笔中实现一个功能:代码放在一个textArea区域中,下方有操作按钮,可以实现:1、点击运行 2、点击全选 3、点击复制。

点击运行和点击全选好实现,也容易实现浏览器间的兼容性,但是在点击复制时,在360浏览器7(2015.7.xp系统和win7 64位系统下)中无法实现点击复制。通过查询,此版浏览器应该是chrom核心。钻了两天牛角尖,还是没弄出来,估计知识储备没到,总结一下过程,等以后解决:

一、先是在网上找了一些兼容代码,IE可用,不过360浏览器(版本及环境见上)无法使用。

二、再找代码,找到一部分网站上可用的点击复制代码,下载源码或是网页,到本地之后,无法使用,代码均一样,在服务器环境下(IIS 5、7和tomcat 8)360还是无法实现。

三、找到网上一种用flash实现的代码,用透明flash覆盖到按钮上,这个只能实现在原先写好在textArea里面的内容是可以复制的,但如果textArea里的代码重写之后,复制的还是原来的内容,新写的代码传不过去。我对tag:function 之后的写法也不熟悉,也没查出来是哪些写法。

四、用第三种方法,要导入2个辅助js,感觉不太合算,不符合代码简洁性,所以用一种变通方法实现:点击复制后,实现全选textArea区域内容,同时提示“请按Ctrl+C实现复制”,这也是很多网站的实现方法,我感觉也是一种性价比很高的方式,在易用性和实现代价方面,还是要有一个平衡点。

*收获:匿名函数很好用!

?不能理解的是,为什么在别人网站上可以实现的功能,我在查看源代码,研究js代码(反混淆)之后,一样的代码,在本地和本地搭建的服务器环境下,为什么不能实现同样效果呢?

2015.7.7 from yard39

牛角尖要量力而钻,人生总会有一些缺憾,一时无法解决的,留待以后解决!

================================================

以下为实现的代码功能示例:


posted on 2015-07-07 11:20  yard39  阅读(168)  评论(0编辑  收藏  举报