<!doctype html><html lang=
"en"
><head>
<meta charset=
"UTF-8"
>
<title>Document</title></head><body><script type=
"text/javascript"
>
function
readFileFirefox(fileBrowser) {
try
{
netscape.security.PrivilegeManager.enablePrivilege(
"UniversalXPConnect"
);
}
catch
(e) {
alert(
'无法访问本地文件,由于浏览器安全设置。为了克服这一点,请按照下列步骤操作:(1)在地址栏输入"about:config";(2) 右键点击并选择 New->Boolean; (3) 输入"signed.applets.codebase_principal_support" (不含引号)作为一个新的首选项的名称;(4) 点击OK并试着重新加载文件'
);
return
;
}
var
fileName=fileBrowser.value;
var
file = Components.classes[
"@mozilla.org/file/local;1"
]
.createInstance(Components.interfaces.nsILocalFile);
try
{
file.initWithPath( fileName.replace(/\
}
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(obj){
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 = obj.value;
}
else
if
(Sys.ie>=
"7.0"
){
obj.select();
file_url = document.selection.createRange().text;
}
else
if
(Sys.firefox){
file_url = readFileFirefox(obj);
}
else
if
(Sys.chrome){
file_url = obj.value;
}
document.getElementById(
"text"
).innerHTML=
"获取文件域完整路径为:"
+file_url;
}</script><h1>JS获取文件域完整路径的方法,兼容不同浏览器</h1><p id=
"text"
style=
"color:#f00;"
></p><input type=
"file"
id=
"file"
onchange=
"getvl(this)"
/></body></html>