【发布时间】:2011-10-23 14:07:31
【问题描述】:
昨晚,我想我会做一个快速项目来演示 HTML5 功能并尝试一些事情。但是,我似乎无法弄清楚如何让拖放在 Safari 中工作,而它在 Chrome 和 Firefox 中完美运行。更准确地说,当您尝试将网站内的图像拖动到放置区域时,似乎在 Safari 中不会触发放置事件。同时,当您从桌面拖放文件时,它会触发。
我不太确定,但我很确定当我在工作中尝试相同的脚本时(我有 Safari 5.0.2 等),它触发了 drop 事件(明天要检查它以确定) 并给了我预期的与 FileReader 相关的错误。但是当我刚刚在我自己的 PC 上安装 Safari 5.1 时,我只能得到拖动、进入和离开事件(如果文件被拖动到浏览器中,也会下降)。
我已经在谷歌上搜索了一段时间,但似乎没有找到一个在 Safari 5.1 中真正有效的拖放示例。连 Safari 的 dev-centre's sample 都不起作用,更不用说 html5demo.com 1 和 html5demo.com 2 了。这让我想到 Safari 是否有错误,或者他们是否实施了一些未反映在开发中心的强制性内容(最后更新于 2009 年)。
我正在尝试修复的脚本位于 my site(抱歉,没有问题的特定代码可以发布,因为它似乎在其他地方也被破坏了)。
PS!在拼命尝试修复 Safari 中的拖放操作时,我可能在自己的网站中引入了一些错误,但我太累了,无法现在修复它们。
更新:刚刚在工作中确认 drop 事件确实在 Mac OS X 上的 Safari 5.0.2 中触发。
更新 2: 还确认在 Win 7 上使用 Safari 5.0.6 一切正常,同一台计算机在 5.1 上失败
【问题讨论】:
-
确认 OP 描述的错误,Safari 5.1 (7534.48.3)。在 Chrome 中运行良好。
-
运行 10.6.8 和 Safari 5.1 (6534.50) 适合我。 Windows 7 上的 5.1 确实如此。是狮子的问题吗?
-
对我来说也一样:在 Win7 x64 上全新安装 Safari 5.1 (7534.50) 时拖放失败,同一页面在以前的版本(以及 Chrome/FF6/IE9 上)中运行良好。没有扩展,空缓存。
-
在 5.1.7 (7534.57.2) 中仍然存在问题。希望它会在 Safari 6 中得到修复。
标签: javascript html safari drag-and-drop