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 也不丢人,毕竟项目跑得稳才是硬道理。

zip 文件大小:3.98KB