gpt4 book ai didi

javascript - 如何检测浏览器是否支持File API拖放

转载 作者:搜寻专家 更新时间:2023-11-01 05:07:28 24 4
gpt4 key购买 nike

我只喜欢在支持文件拖放的浏览器上为 div 添加背景

虽然我不喜欢使用 modernizr,只是一行脚本

最佳答案

为什么不直接从 Modernizr 复制所需的部分?

var isEventSupported = (function() {

var TAGNAMES = {
'select': 'input', 'change': 'input',
'submit': 'form', 'reset': 'form',
'error': 'img', 'load': 'img', 'abort': 'img'
};

function isEventSupported( eventName, element ) {

element = element || document.createElement(TAGNAMES[eventName] || 'div');
eventName = 'on' + eventName;

// When using `setAttribute`, IE skips "unload", WebKit skips "unload" and "resize", whereas `in` "catches" those
var isSupported = eventName in element;

if ( !isSupported ) {
// If it has no `setAttribute` (i.e. doesn't implement Node interface), try generic element
if ( !element.setAttribute ) {
element = document.createElement('div');
}
if ( element.setAttribute && element.removeAttribute ) {
element.setAttribute(eventName, '');
isSupported = typeof element[eventName] == 'function';

// If property was created, "remove it" (by setting value to `undefined`)
if ( typeof element[eventName] != 'undefined' ) {
element[eventName] = undefined;
}
element.removeAttribute(eventName);
}
}

element = null;
return isSupported;
}
return isEventSupported;
})();

用法:

if (isEventSupported('dragstart') && isEventSupported('drop')) {
...
}

对于文件 API:

var isFileAPIEnabled = function() {
return !!window.FileReader;
};

关于javascript - 如何检测浏览器是否支持File API拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6518033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com