`
gallop_liu
  • 浏览: 108130 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

IE9获取file控件的本地文件路径

    博客分类:
  • html
阅读更多

今天发现,在IE9 下,彩信页面的图片预览无法正常显示,经查证,原因在于IE9下无法获取file控件的文件路径。

代码如下:

 

var imageUrl = "";
var objTmp = getObj('picfile');
if (window.navigator.userAgent.indexOf("MSIE")>=1){
   	objTmp.select();
        imageUrl = document.selection.createRange().text
}

 以上代码在IE 6 7 8均正常使用,在IE9下,document.selection.createRange()拒绝访问,看来安全性有所提高。

最后测试发现,在IE9下,如果file控件获得焦点,则document.selection.createRange()拒绝访问,
因此,只需要在fileImg.select()后面加一句fileImg.blur()即可。
但是,如果当前页面被嵌在框架中,则fileImg.blur()之后,file控件中原本被选中的文本将会失去选中的状态,因此,不能使用fileImg.blur()。
可以让当前页面上的其他元素,如div,button等获得焦点即可,如div_view.focus()。
注意,如果是div,则要确保div有至少1像素的高和宽,方可获得焦点。
目前在IE9中测试,一切正常。

IE9的处理代码如下:
var imageUrl = "";
var objTmp = getObj('picfile');
var version = window.navigator.userAgent;
if(version.substr(version.indexOf("MSIE") + 5, 1) >= 9){
        imageUrl = objTmp.value;
   	objTmp.select();
   	getObj('picDiv').focus();
  	imageUrl = document.selection.createRange().text;
}

//在页面中添加
<div id="picDiv" style="width: 1px; height: 1px;"></div>
 
 

 

分享到:
评论
3 楼 xb12369 2015-01-12  
  干得漂亮~~~~
2 楼 q653152412 2014-05-08  
图片是显示出来了,但是控制不了大小,怎么办啊?
1 楼 haanya168 2013-12-17  
哥们,你的文章帮我大忙了,谢谢,就是有一个疑惑,将焦点转移到别的input的文本框不行,按照你写的增加一个div就可以

相关推荐

    读取input:file的路径并显示本地图片的方法

    input:file是一个文件上传控件,如何读取input:file的路径并显示图片,具体实现如下,需要注意的是在IE8中由于IE8自作聪明的将真实路径隐藏起来

    多文件无刷新上传控件

    &lt;br&gt;控件属性说明: &lt;br&gt;ID Width 控件宽度,IE有效 Height 控件高度 AjaxImage 上传时显示的loading图片路径,默认路径为"/images/ajax.gif" IsMuch 是否多文件 true 多文件上传,false 单...

    asp上传下载控件,生成缩略图

    asp上传下载控件,自动生成缩略图,可以读写INI文件调用格式Dim MyControlSet MyControl = server.createObject(“kinsoft.fileupload”) 保存上存文件Savefile(path; overwrite)参数:path:文件保存的路径...

    这是一个web打印控件,所见即所得。

    如果要正常运行例子,需要修改路径:printMe.PrintWeb("file://e:/download/printDemo.htm"); ActiveX的定义如下: &lt;OBJECT id="printMe" classid="clsid:143F250B-1922-43A8-8C56-4D61C2834078" height="0" ...

    大名鼎鼎SWFUpload- Flash+JS 上传

     SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而超越传统&lt;input type="file" /&gt;标签的文件上传模式。 [编辑本段]SWFUpload...

    一款比较好用的.net在线编辑器

    2.全面支持,IE7,IE8,FireFox3.0,FireFox3.5,Opera8,Opera9,Safari等浏览器。 3.新增控件直接保存文件功能。 4.新增控件直接读取文本、网页文件功能。 5.新增控件直接读取WEB网页功能。 6.新增控制用户上传文件类型...

    KODExplorer 芒果云-资源管理器

    [关于兼容性] 建议使用chrome firefox ie9+ 体验更完整。ie8以下基本上不做兼容处理。chrome支持文件夹拖拽上传。 [文件打开] office文件在线预览功能,服务器必须在公网(外部能访问该服务器) [忘记密码] 修改data...

    iWeb Office2000[EXE版]

    9 模版套红功能 支持拟稿时选择模版套红,也支持定稿后的模版套红功能。 10 版本支持功能 支持版本自由控制,可以由用户创建多个版本。 11 保存HTML功能 支持将文档直接以HTML的方式保存在为服务器上。该功能...

    iWeb Office2000[OCX版]

    9 模版套红功能 支持拟稿时选择模版套红,也支持定稿后的模版套红功能。 10 版本支持功能 支持版本自由控制,可以由用户创建多个版本。 11 保存HTML功能 支持将文档直接以HTML的方式保存在为服务器上。该功能...

    Visual C++实践与提高-COM和COM+篇『PDF』

    4.4.2.1 文件名字对象(file moniker) 4.4.2.2 复合名字对象(composite moniker) 4.4.2.3 单项名字对象(item moniker) 4.4.2.4 反-名字对象 4.4.2.5 指针名字对象 4.4.2.6 类名字对象 4.4.3 使用名字对象 4.4....

    delphi 开发经验技巧宝典源码

    0138 在指定路径中搜索指定的文件 89 0139 使用FileExists函数判断指定文件是否存在 90 0140 使用FileGetAttr函数返回文件的属性 90 0141 使用FileGetDate函数返回文件的修改日期 90 0142 使用FileWrite...

    delphi 开发经验技巧宝典源码06

    0138 在指定路径中搜索指定的文件 89 0139 使用FileExists函数判断指定文件是否存在 90 0140 使用FileGetAttr函数返回文件的属性 90 0141 使用FileGetDate函数返回文件的修改日期 90 0142 使用FileWrite...

    iWebClient2003 B/S网络通讯平台

    1、实现了通过IE刘览器,打开服务器上的文件,然后进行编辑与修改,完成后,可以 保存到服务器上去。 2、本程序能够打开任何服务器上的文件。 注:演示版有限制。如要正式版,请与作者联系。 文件组成: ...

    iWeb Office2000[ASP版]

    9 模版套红功能 支持拟稿时选择模版套红,也支持定稿后的模版套红功能。 10 版本支持功能 支持版本自由控制,可以由用户创建多个版本。 11 保存HTML功能 支持将文档直接以HTML的方式保存在为服务器上。该功能...

    网管教程 从入门到精通软件篇.txt

    Axx:ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取01-99的数字) A3L:Authorware 3.x库文件 A4L:Authorware 4.x库文件 A5L:Authorware 5.x库文件 A3M,A4M:Authorware Macintosh...

    ASP.NET实现TreeView的XML数据源绑定实例代码

    而XML文档的访问由XmlDataSource控件来完成,从XmlDataSource控件的DataFile属性中指定XML文档路径,然后在TreeView控件中设置与XML文档中的节点的对应关系。本示例将演示如何把TreeView控件绑定到XML数据源。 技术...

    asp.net知识库

    .Net 中IE使用WinForm控件的使用心得。 动态加载用户控件的组件!(终结MasterPages技术) 在ASP.NET 1.1下实现模板化站点的新思路 在ASP.Net中两种利用CSS实现多界面的方法 用于弹出ModalDialog进行数据选择的控件 ...

    XueTr0.21 (比冰刃IceSword还强的软件)

    修正File和Rigister显示界面,当多次最小化最大化后,树形控件宽度逐渐变窄bug(感谢li58指出) 2009-01-02 0.13版本: 1.调整界面 2.新增操作IE插件、SPI、启动项、服务、映像劫持、Host文件等功能 3.修正一处...

    linxer大牛的ARK工具: XueTr.020 (类似冰刃的软件)

    修正File和Rigister显示界面,当多次最小化最大化后,树形控件宽度逐渐变窄bug(感谢li58指出) 2009-01-02 0.13版本: 1.调整界面 2.新增操作IE插件、SPI、启动项、服务、映像劫持、Host文件等功能 3.修正一处...

Global site tag (gtag.js) - Google Analytics