日期:2014-05-17  浏览次数:20508 次

谷歌下,js获取<input type="file" ... />绝对路径失败,被修改成C:\fakepath\...形式
RT,
jq写的 $("input[type='file']").val(); 在ie下没出现问题,可是谷歌里面被修改了,求经验大手意见

------解决方案--------------------
C:\fakepath\.不是完全正确的吗 ?物理路径就是这样的啊
<input type="file" ... />不能使用虚拟路径的,哪来的绝对路径一说?
------解决方案--------------------
你用这种方式来解决,本身就是不太规范的。
IE不同版本,firefox不同版本,chrome不同版本,surfer不同版本等等浏览器,再加上不同的操作系统,比如在linux中,在unix中,在windows的不同版本中,获取到的东西或多不少不太一样。你不要指望用这种方式可以一劳永逸解决所有浏览器。

不知道你在这里获取这个的目的是什么。
------解决方案--------------------
探讨

function getPath(obj){
if(obj){
//ie
if (window.navigator.userAgent.indexOf("MSIE")>=1)
{
obj.select();
return document.s……

------解决方案--------------------
如果你只是在特定os下,在特定浏览器下,那就按照你说的做。其实主要取决于user
------解决方案--------------------
探讨

刚刚找到分享下。http://www.cesclub.com/bw/jishuzhongxin/Webjishu/2011/1129/16284.html
可能是我描述的不清楚吧,亲,我只需要得到一个兼容的获取路径的方案,置于平台不考虑,只是个网站的某个功能而已哦,非常感谢您的回答,我再测试测试下
引用:

如果你只是在特定os下,在特定浏览器下,那就按照你说的做。其实……

------解决方案--------------------
非IE都不不能直接通过$("input[type='file']").val()得到路径的,这是安全性设置的问题的
即使是IE,也是不能直接得到的,这需要修改设置才能得到
只有下面的设置设置成允许才能得到