❗ 本文最后更新于 5804 天前,文中所描述的信息可能已发生改变,请谨慎使用。
之前写过一篇文章跨浏览器“复制到剪贴板”的解决方案,里面讲到在Firefox下如果安装了Flash,就可以利用js调用flash的setClipboard方法来将一段文字写进系统剪切板。但是最近发现,在很多电脑上这种方法已经失灵了。研究了一下,发现是flash10更新了安全策略:新的策略只允许在flash内部调用setClipboard方法,利用js调用无效;当然,如果在flash里添加事件来执行setClipboard是在允许范围内的。
除了setClipboard的更新外,还有一个比较大的更新就是:FileReference.browse和FileReference.download将只能通过Flash 内容响应鼠标或键盘的操作来使用。也就是说类似于SWFUpload一类的通过js来打开文件选择框的应用将会无法工作!SWFUpload官方采用”在SWF中引入一个按钮,用户点击此按钮来触发文件选择对话框的显示”的方案解决的这一问题。
Flash的这次安全升级给我的启示:最好不要用一种语言来做本来不属于他做的事(例如利用window.name跨域传输数据等等),尽管这些Hack在很多情况下很好用,但也最容易因为某次更新升级而失效。
参考: http://www.jeffothy.com/weblog/clipboard-copy#comment-123736 http://www.v-sky.com/blog/?p=227
本文链接:https://imququ.com/post/flash-security-update.html,参与评论 »
--EOF--
发表于 2009-01-30 11:55:07,并被添加「Flash」标签。查看本文 Markdown 版本 »
Comments
Waline 评论加载中...