FLASH+JavaScript复制文字功能实现
FLASH 和 JS 的搭配,在早期网页开发里,算是复制功能的老 CP 了。是那会儿浏览器还不太靠谱,document.execCommand
不是谁都支持,这种组合就显得稳。
Flash 的Clipboard.setData
加上ExternalInterface
,能让你在用户点击按钮那一刻,直接把文本丢进剪贴板里,响应也快,兼容性也不错。虽然现在 Flash 退场了,但这个做法在多老项目里还挺常见的。
JS 跟 Flash 之间通过ExternalInterface.addCallback
互相喊话,比如你在 JS 里写个函数copyToClipboard()
,Flash 那边注册一下,你点击按钮,JS 就能把要复制的内容传过去,Flash 一执行,剪贴板内容就搞定了。
啦,现在大部分浏览器都支持navigator.clipboard.writeText
了,用起来更直接,也更安全。不过要注意,浏览器通常会要求这个操作发生在用户交互里,比如点按钮、输个密码什么的,不然它不给你权限。
如果你项目需要兼容老浏览器,可以考虑搞个Flash + JS
的回退方案,像之前用得多的ZeroClipboard
组件,也就是这么干的。你可以参考下这个压缩包zxx_clipboard
,里面应该有完整的示例代码,照着改改就能用。
嗯,总结一句话:现在能用 HTML5 就用,真遇到兼容问题,再掏出老法宝 Flash 也不丢人,毕竟项目跑得稳才是硬道理。
3.98KB
文件大小:
评论区