html - Modernizr 在 IE8 上测试拖放

标签 html internet-explorer internet-explorer-8 drag-and-drop modernizr

我正在测试拖放 API 支持

    if (!Modernizr.draganddrop) {
    alert('No!');
}
else { 
    alert('Yes');
     } 

但不知何故它在 IE8 中显示"is",这当然不支持 html5 D&D API。

提前致谢

最佳答案

阅读其他一些地方,似乎这可能是一个相当普遍的问题。

问题是,在浏览器上下文中“拖放”有不同的含义。

事实上,在 IE8 中 支持一组拖放事件处理程序(事实上一直回溯到 IE5),这可能是 Modernizr 所报告的真实情况在这个测试中。它们在旧版 IE 和新版浏览器中是相同的事件,因为 HTML5 标准基本上正式化了 IE 已经在做的事情。引用:Quirksmode (请原谅那里的脏话!他显然不喜欢拖放 api。但重要的是他很清楚:拖放确实存在于旧的 IE 版本中,事实上微软发明了它)

但是,这些拖放事件并不是全部。还有将文件从浏览器窗口外拖放到浏览器中的概念。这是一个完全不同的拖放操作,是一个更新得多的功能。它目前列在 Modernizr's "Undetectables" page 中, 因为无法准确检测。

据我所知,最接近检测它的人是将 Modernizr 拖放检查与对 FileReader API 的二次检查相结合,如下所示:

if (!!window.FileReader && Modernizr.draganddrop) {
    ....
}

但是,我也看到了有关此技术对 Safari 产生误报的报道,因此请对它持保留态度。

引用:

希望这有助于解释事情,即使它不一定会使解决方案更清晰。

关于html - Modernizr 在 IE8 上测试拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12544944/

相关文章:

javascript - 为什么我的 Javascript 在 IE8 中无法运行?

jquery - IE8位置: absolute;

c# - HTML 的 XML 序列化

html - 如何在类似圆的 div 上创建类似线性渐变的边框底部颜色(参见图像文件)

html - 元 X-UA 兼容 : difference between IE=Edge and IE=100

IE8 中的 CSS 圆 Angular

java - gwt 2.4.0 空白页仅适用于 IE

html - 样式标签排除具有特定样式的标签

javascript - 导致移动导航无法点击的页面转换

html - Twitter-Bootstrap & IE 网格系统问题