从输入文件类型我将fullPath(整个本地路径名)传递给javascript,并且我已经编写了javascript来了解文件扩展名类型,
while (fullPath.indexOf("\\") != -1)
fullPath = fullPath.slice(file.indexOf("\\") + 1);
alert(fullPath);
我只在IE上面有问题,确切地说我发现IE不支持indexOf,我怎么能改变我的这个。如果不是这种情况,那么有任何替代方法可以知道可以在所有浏览器中使用的文件扩展名。
感谢,
michaeld
答案 0 :(得分:6)
您可以创建它(Javascript Code to create method)
易于使用:
if(!Array.indexOf){
Array.prototype.indexOf = function(obj){
for(var i=0; i<this.length; i++){
if(this[i]==obj){
return i;
}
}
return -1;
}
}
答案 1 :(得分:2)
indexOf()
,至少早在3.0版本。我相信在IE9中最终添加了对数组的indexOf()
的支持。
您在问题中包含的示例是对名为indexOf()
和fullPath
的变量使用file
,我认为这些变量是字符串,但为什么要混合使用fullpath
内的索引,其切片操作使用file
中的索引:
while (fullPath.indexOf("\\") != -1)
fullPath = fullPath.slice(file.indexOf("\\") + 1);
// what is the file variable ^^
要计算出你想要的最后一个“。”之后的所有字符的文件类型,请尝试使用lastIndexOf()
函数:
var fileType = fullPath.slice(fullPath.lastIndexOf(".") + 1);
(在字符串中没有“。”时添加你自己的其他情况。)
顺便说一句,我不认为文件系统使用“\”字符来分隔文件夹名称:非Windows系统呢?