poi上传excel无法兼容ie11和chrome

lvtian3179 2017-12-24 09:59:46
import.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>批量录入excel表格</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<script type="text/javascript">
//FX获取文件路径方法
function readFileFirefox(fileBrowser) {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}
catch (e) {
alert('无法访问本地文件,由于浏览器安全设置,请用IE浏览器打开。');
return;
}
var fileName=fileBrowser.value; //这一步就能得到客户端完整路径。下面的是否判断的太复杂,还有下面得到ie的也很复杂。
var file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
try {
file.initWithPath( fileName.replace(/\//g, "\\\\") );
}
catch(e) {
if (e.result!=Components.results.NS_ERROR_FILE_UNRECOGNIZED_PATH) throw e;
alert("File '" + fileName + "' cannot be loaded: relative paths are not allowed. Please provide an absolute path to this file.");
return;
}
if ( file.exists() == false ) {
alert("File '" + fileName + "' not found.");
return;
}

return file.path;
}

//根据不同浏览器获取路径
function getvl(){
//判断浏览器
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
var s;
(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
(s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
(s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
(s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
(s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
var file_url="";
if(Sys.ie<="6.0"){
file_url = document.getElementById("file").value;
}else if(Sys.ie>="7.0"){
var file = document.getElementById("file");
file.select();
file_url = document.selection.createRange().text;
}else if(Sys.firefox){
file_url = readFileFirefox(document.getElementById("file"));
}
document.getElementById("filepath").value = file_url.replace(/\\/g,'/'); //把\转化成/
var files = document.getElementById("filepath").value

if(files.substr(files.length-4)=="xlsx" || files.substr(files.length-4)==".xls"){
document.frm.action = "import_result.jsp";
document.frm.submit();
}else{
alert("请选择office 2007或 office 2003; 以xlsx(xls)结尾...");
return false;
}

}
</script>
<form action="" method="post" name="frm" onsubmit="getvl();" target="import_result">
数据的批量导入:<input type="file" id="file" style="height: 4%"/>
<input type="hidden" id="filepath" name="filepath" value="" />
<input type="button" onclick="getvl();" value="Excel导入" style="height: 4%"/>
</form>
</html>


求助,IE8可用,IE11和CHROME就不行了,该如何修改适配这两款浏览器,感谢大神们。
...全文
366 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2017-12-25
  • 打赏
  • 举报
回复
文件上传到服务器后再读取内容,浏览器不允许直接访问本地文件了

61,112

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧