如何让我的html5功能不兼容警告使用javascript工作
How to get my html5 feature incompatibility warning to work using javascript
我在网页中添加了一个表单,允许上传多个文件。我添加了输入<input type="file" name="photo_upload[]" id="photo_upload" multiple="multiple" />
。
我试图添加一个警告,只有当浏览器不支持多文件功能时,该警告才可见。我试过这个代码:
<script type="text/javascript">
var testrange=document.createElement("input")
testrange.setAttribute("multiple", "multiple")
if (testrange.multiple=="multiple"){
document.getElementById('multiple_warning').style.display = 'none';
}
</script>
<div id="multiple_warning" style="background:#FFFF99; border:dashed; border-width:thin;">Sorry, but your browser does not support the multiple file upload feature.<br />
If you have more than one photo to send us, please send it after you recieved your comformation email.</div>
但不管怎样,它总是显示"multiple_warning"。我怎样才能让它正常工作?
您可以使用Modernizr来测试特定属性。这是一个开源、跨浏览器的HTML5检测库
if(Modernizr.input[attribute])){
alert("Attribute exists");
}
else{
//error handling
}
请参阅此处http://modernizr.com/docs/#input
检查控制台以查看为什么您的测试总是失败;)
testrange.setAttribute("multiple", "multiple")
console.log(testrange.multiple);
你可以用这个片段来检查这个功能
if (!("multiple" in testrange)) {
alert("no multiple upload supported");
}
使用这个而不是您拥有的JavaScript:
var testrange = document.createElement("input")
if ("multiple" in testrange) {
document.getElementById("multiple_warning").style.display = "none";
}
如果你正在进行大量的特征检测,可以考虑使用Modernizr来测试这些东西,而不是创建自己的测试。它可以解决很多棘手的问题,让你省去很多麻烦。
相关文章:
- 在Resharper中禁用javascript类型强制警告
- 为什么JavaScript对话框(警告、确认)会停止页面重绘
- 如何重写此 Javascript 代码以避免 JSHint 警告
- Java 警告 (?) 在 Eclipse (Juno) 中显示为 JavaScript 代码
- PHP/Javascript会话超时并发出警告
- 如何让我的html5功能不兼容警告使用javascript工作
- 当用户在Javascript中触摸空白屏幕时,警告框关闭
- Javascript 增量 (++) 警告
- 使用 JavaScript 显示错误消息,不带 OUT 警告框
- 在 javascript 中动态显示一个带有换行符的警告框
- 检测 JavaScript 警告
- 显示使用 PHP 和 JavaScript 的警告框
- 离开站点警告 Javascript
- 在表单html上编程php和警告javascript
- 警告Javascript数组对象显示为空
- Bootstrap 3.2.0警告javascript混淆
- Android windows已经集中警告javascript界面
- Firefox扩展警告:JavaScript命名空间污染
- 包括谷歌地图API多次警告javascript/mvc
- 警告javascript不工作