今天做一個項目,需要隱藏input file然後取得它的值,但連jquery都無法取得它的值 複製程式碼程式碼如下: <BR>//FX取得檔案路徑方法<BR>function readFileFirefox(fileBrowser) { <BR>try { <BR>netscapescape .security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); <BR>} <BR>catch (e) { <BR>alert('無法存取本機文件,由於瀏覽器安全設定。為了克服這一點,請按照下列步驟操作:(1)在網址列輸入"about:config";(2) 右鍵點選並選擇New->Boolean; (3) 輸入"signed.applets.codebase_principal_support" (不含引號)作為一個新的首選項的名稱;(4) 點選OK並試著重新載入檔案'); <BR>return; <BR>} <BR>var fileName=fileBrowser.value; //這一步就能得到客戶端完整路徑。下面的是否判斷的太複雜,下面得到ie的也很複雜。 <BR>var file = Components.classes["@mozilla.org/file/local;1"] <BR>.createInstance(Components.interfaces.nsILocalFile); <BR>try { <BR>// Backface slashes for wins <BR>file.initWithPath( fileName.replace(///g, "\\") ); <BR>} <BR>catch(e) { <BR>if (e.result!=Components.results.NS_ERROR_FILE_UNREZED_FILE_UN ) throw e; <BR>alert("File '" fileName "' cannot be loaded: relative paths are not allowed. Please provide an absolute path to this file."); <BR>return <BR>} <BR>} <BR> if ( file.exists() == false ) { <BR>alert("File '" fileName "' not found."); <BR>return; <BR>} <BR>return file.path; <BR> } <BR>//依不同瀏覽器取得路徑<BR>function getvl(){ <BR>//判斷瀏覽器<BR>var Sys = {}; <BR>var ua = navigator.userAgent.toLowerCase() ; <BR>var s; <BR>(s = ua.match(/msie ([d.] )/)) ? Sys.ie = s[1] : <BR>(s = ua.match(/firefox /([d.] )/)) ? Sys.firefox = s[1] : <BR>(s = ua.match(/chrome/([d.] )/)) ? Sys.chrome = s[1 ] : <BR>(s = ua.match(/opera.([d.] )/)) ? Sys.opera = s[1] : <BR>(s = ua.match(/version/([d .] ).*safari/)) ? Sys.safari = s[1] : 0; <BR>var file_url=""; <BR>if(Sys.ie<="6.0"){ <BR>// ie5.5,ie6.0 <BR>file_url = document.getElementById("file").value; <BR>}else if(Sys.ie>="7.0"){ <BR>//ie7,ie8 <BR>var file = document.getElementById("file"); <BR>file.select(); <BR>file_url = document.selection.createRange().text; <BR>}else if(Sys.firefox){ <BR>//fx <BR>//file_url = document.getElementById("file").files[0].getAsDataURL();//取得的路徑為FF識別的加密字串<BR>file_url = readFileFirefox(document .getElementById("file")); <BR>} <BR>//alert(file_url); <BR>document.getElementById("text").innerHTML="取得檔案域完整路徑為:" file_url; <BR>} <BR> JS取得檔案域完整路徑的方法,相容於不同瀏覽器