onl*_*mon 3 html5 internet-explorer drag-and-drop internet-explorer-8 modernizr
我正在测试拖放API支持
if (!Modernizr.draganddrop) {
alert('No!');
}
else {
alert('Yes');
}
Run Code Online (Sandbox Code Playgroud)
但不知何故,它在IE8中显示"是",当然不支持html5 D&D API.
提前致谢
读一些其他地方,似乎这可能是一个相当普遍的问题.
问题是,在浏览器上下文中"拖放"有不同的含义.
事实上,IE8 中支持一组拖放事件处理程序(实际上一直回到IE5),这可能是Modernizr在此测试中报告的真实情况.它们与IE浏览器的旧版本中的事件相同,因为HTML5标准基本上形式化了IE正在做的事情.参考:Quirksmode(请原谅亵渎!他显然不喜欢拖放api.但重要的是他很清楚:旧的IE版本中存在拖放操作,事实上微软发明了它)
但是,这些拖放事件并非全局.还有从浏览器窗口外部拖动文件并将其放入浏览器的概念.这完全是一个不同的拖放操作,并且是一个更新的功能.它目前列在Modernizr的"Undetectables"页面中,因为它无法准确检测到.
我知道的最接近任何人必须检测它的是将Modernizr拖放检查与FileReader API上的二次检查相结合,如下所示:
if (!!window.FileReader && Modernizr.draganddrop) {
....
}
Run Code Online (Sandbox Code Playgroud)
但是,我也在阅读有关这种技术给Safari带来假阴性的报道,所以请耐心等待.
参考:
希望这有助于解释事情,即使它不一定使解决方案更清楚.
| 归档时间: |
|
| 查看次数: |
1441 次 |
| 最近记录: |