iKuai爱快流控路由

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3966|回复: 15
打印 上一主题 下一主题

[需求建议] 关于【IE浏览器】用户升级不成功的解决办法。

[复制链接]
跳转到指定楼层
楼主
发表于 2014-5-7 12:27:13 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 WiUIi 于 2014-5-10 09:39 编辑





在使用<input id="file_upl" type="file"  />控件上传文件时,有时会需要获取文件本地路径展示给客户,这时可以通过这样的方式获取文件本地路径:
document.getElementById('file_upl').value
这在IE7及以前的IE浏览器版本上都没有问题,但是到IE8上面,就不行了,在IE8中你只会获取到这样的路径:"C:\fakepath\xxx”,其中xxx是你的文件名。
这是怎么回事呢?
原来,IE8出于安全性的考虑,上传文件时屏蔽了真实的本地文件路径,而以“C:\fakepath\”取代之。
但是我们就是想要获取真实的本地文件路径怎么办呢?
你可以通过设置浏览器安全选项得到真实路径:
Internet选项 -> 安全 -> 自定义级别 -> 将本地文件上载至服务器时包含本地目录路径 -> 选“启动” -> 确定
但是,作为开发者,我们不能指望客户去这么做,所以我们必须通过代码解决这个问题。
例如我的上传文件控件的HTML代码是:
<input id="file_upl" type="file" />
那么在JS代码中我就可以这样来获取真实的文件路径:
var file_upl = document.getElementById('file_upl');
file_upl.select();
var realpath = document.selection.createRange().text;
如果我们用的是Ext,那么我们会使用Ext.ux.form.FileField组件,假设我们赋给它的id是"file_upl",这时同样会产生上面的问题,解决的办法也是一样,但是我们获取到type为file的input才行,而根据"file_upl"获取到的元素根本不是我们所需要的,Ext是自动生成了一个type为file的input,你可以通过DebugBar或其他类似工具看到这个input,它的id是赋给Ext.ux.form.FileField的id加上"-file"的后缀,也就是"file_upl-file",所以获取真实文件路径的JS代码就是:
var file_upl = document.getElementById('file_upl-file');
file_upl.select();
var realpath = document.selection.createRange().text;
此方案只针对IE浏览器,对其他浏览器暂时未作探讨。




问题实例帖子传送门
http://bbs.ikuai8.com/forum.php?mod=viewthread&tid=14799&page=1&extra=#pid131118
方案来源于互联网  探讨只针对IE8+ 版本  或是系统没有优化过的WIN8.1

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
沙发
发表于 2014-5-7 13:03:01 | 只看该作者
chrome貌似也是这样显示的。  不过可以正常升级
板凳
发表于 2014-5-7 13:04:15 | 只看该作者
专业。。。
地板
发表于 2014-5-7 13:52:43 | 只看该作者
这样显示不影响升级。chrome路过。
5#
发表于 2014-5-9 19:36:35 | 只看该作者
问题是我在8.1的系统里面火狐,CHrome还有IE没有一个可以升级的啊
6#
 楼主| 发表于 2014-5-9 21:18:10 | 只看该作者
lcylcyll 发表于 2014-5-9 19:36
问题是我在8.1的系统里面火狐,CHrome还有IE没有一个可以升级的啊

升级文件路径不要用中文呢?一般我会吧升级文件放在根目录。你再尝试一下。一般像火狐,chrome,opera 第三方浏览器 论坛反应都是没有太大问题的。
7#
发表于 2014-5-9 21:31:15 | 只看该作者
WiUIi 发表于 2014-5-9 21:18
升级文件路径不要用中文呢?一般我会吧升级文件放在根目录。你再尝试一下。一般像火狐,chrome,opera 第 ...

看一下今天晚上有没放最新的包吧,我现在是06版本的
8#
 楼主| 发表于 2014-5-9 21:40:18 | 只看该作者
lcylcyll 发表于 2014-5-9 21:31
看一下今天晚上有没放最新的包吧,我现在是06版本的

目前好像最新版本就是0506,放出的版本大多都是网友抽奖放出的。还有就是烟花的升级包放出的也会很及时的。http://bbs.ikuai8.com/thread-14521-1-6.html
9#
发表于 2014-5-9 22:05:24 | 只看该作者
WiUIi 发表于 2014-5-9 21:40
目前好像最新版本就是0506,放出的版本大多都是网友抽奖放出的。还有就是烟花的升级包放出的也会很及时的 ...

是啊,看那一上置顶的话有可能放出最新版本今晚
10#
 楼主| 发表于 2014-5-9 22:52:52 | 只看该作者
lcylcyll 发表于 2014-5-9 22:05
是啊,看那一上置顶的话有可能放出最新版本今晚

不等了,明天吧,{:3_55:}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|论坛规章制度|iKuai Inc. ( 京ICP备13042604号 )

GMT+8, 2024-11-14 15:43

Powered by Discuz! X3.3

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表