`
keepwork
  • 浏览: 334395 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JS--获取file文件全路径(ie和ff已经兼容)

js 
阅读更多
<html>
            <head>
            <title>File Input</title>
            <meta http-equiv="content-type" content="text/html; charset=utf-8">
            <style>
            body{font-size:13px;}
            .box{border:1px solid #eee;background:#ffe;padding:10px 30px;margin:10px;}
            dt{font-weight:bold;}
            dt,img,textarea{margin:8px 0;}
            em{color:#f00; font-style:normal;}
            span{color:#999;}
            .ft{color:#999;font-size:11px;text-align:right}
            </style>
            </head>
            <body>
            <h2>在不同浏览器中获取File Input的value</h2>
            <div class="box">
            <input type="file" name="foo" id="foo" size="60" />
            <input type="button" value="Show Value" onclick="alert(document.getElementById('foo').value)" />
            <input type="button" value="Show Value in FF3" onclick="alert(getValueFF('foo'))" />
            <input type="button" value="Show Value in IE8" onclick="alert(getValueIE8('foo'))" />
            </div>
            <div class="box">
            <dl>
            <dt>Firefox 2.x、IE6、IE7</dt>
            <dd>在本地及远端都可以取得完整地址(包括路径及文件名)</dd>
            </dl>
            <dl>
            <dt>Firefox 3.0</dt>
            <dd>在本地及远端都<em>不能</em>取得完整地址,只能获得文件名</dd>
            </dl>
            <dl>
            <dt>IE8、IE7[IE8模拟]</dt>
            <dd>在本地可以取得完整地址(包括路径及文件名),在远端<em>不能</em>取得完整地址,只能获得文件名</dd>
            </dl>
            <span>* 本地:localhost</span>
            </div>
            <div class="box">
            <h3>如何在Firefox3下取得完整路径</h3>
            <p>
            第一步:打开"about:config"页面,查找"signed.applets.codebase_principal_support"属性,将其值设置为true。
            </p>
            <p>
            第二步:在javascript中采用以下代码进行获取:<br />
            <textarea style="width:800px;height:300px;">
            function getValueFF(id){
            var ip = document.getElementById(id);
            if (ip.files) {
            //ffx3 - try to have access to full path
            try {
            netscape.security.PrivilegeManager.enablePrivilege( 'UniversalFileRead' )
            }
            catch (err) {
            //need to set signed.applets.codebase_principal_support to true
            }
            };
            return ip.value;
            }
            </textarea>
            </p>
            <p>
            经过以上步骤,在Firefox3下获取file input的value时,会弹出一个Internet Security的对话框,点击"Allow"将可以获取完整value。<br />
            <span>资料:<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=143220" target="_blank">https://bugzilla.mozilla.org/show_bug.cgi?id=143220</a></span>
            </p>
            </div>
            <div class="box">
            <h3>如何在IE8下取得完整路径</h3>
            <p>方法一:使用selection.createRange <br />
            <textarea style="width:800px;height:150px;">
            function getValueIE8(id){
            var ip = document.getElementById(id);
            ip.select();
            return document.selection.createRange().text;
            }
            </textarea>
            </p>
            <p>方法二:引用:<a href="https://bugzilla.mozilla.org/attachment.cgi?id=328849" target="_blank">https://bugzilla.mozilla.org/attachment.cgi?id=328849</a></p>
            </div>
            <script language="JavaScript">
            function getValueFF(id){
            var ip = document.getElementById(id);
            if (ip.files) {
            //ffx3 - try to have access to full path
            try {
            netscape.security.PrivilegeManager.enablePrivilege( 'UniversalFileRead' )
            }
            catch (err) {
            //need to set signed.applets.codebase_principal_support to true
            }
            };
            return ip.value;
            }
            function getValueIE8(id){
            var ip = document.getElementById(id);
            ip.select();
            return document.selection.createRange().text;
            }
            </script>
            </body>
            </html>

 开发者博客www.developsearch.com

分享到:
评论

相关推荐

    IE和FF的图片上传预览

    本文将详细讲解如何实现IE(Internet Explorer)和FF(Firefox)浏览器的图片上传预览功能,以及处理这两种浏览器在处理文件路径上的差异。 首先,让我们了解一下图片上传预览的基本原理。当用户在网页上选择一个...

    兼容IE chrome FF 图片上传前预览

    这段代码是用于在图片上传前实现预览功能的,它兼容了Internet Explorer(IE)、Chrome 和 Firefox 这三种主流浏览器。在用户选择图片文件后,可以在网页上显示一个缩放后的预览图,确保预览图像的宽度和高度不超过...

    IE6/IE7/IE8兼容本地上传图片并预览源代码

    需要注意的是,由于安全和隐私原因,IE和现代浏览器都对本地文件系统有严格的限制,通常不允许直接访问文件路径。因此,我们只能获取到文件的二进制数据或数据URL,而不是实际的文件路径。 此外,IE6和7并不支持CSS...

    兼容IE和FF的图片上传前预览js代码

    在探讨如何使用JavaScript实现在Web页面中上传图片前进行预览,并且能够兼容Internet Explorer(IE)和Firefox(FF)这两种浏览器时,需要掌握的关键知识点包括HTML5的File API、FileReader API、DOM操作、以及CSS...

    在页面预览客户端本地图片的js代码(兼容FF IE)

    首先,从文档标题可以看出,所讨论的技术能够在不同浏览器(FF,即Firefox,和IE)中兼容使用。对于IE,我们可以使用微软提供的滤镜来实现图片预览功能。而在Firefox中,我们可以利用window.URL.createObjectURL()...

    js获取文件里面的所有文件名(实例)

    - **解读**:通过`fso.GetFile()`方法获取指定路径的文件对象,并通过`f1.DateLastModified`属性获取该文件的最后修改日期。 ##### 3. 获取磁盘信息 ```javascript var drv; var s = ''; drv = fso.GetDrive(fso....

    mp3网页播放兼容大部分浏览器

    "mp3网页播放兼容大部分浏览器"这个主题聚焦于如何创建一个跨浏览器的MP3播放解决方案,确保在Firefox (FF)、Google Chrome、Safari、Opera、Internet Explorer (IE) 6、7、8以及360、搜狗、世界之窗和遨游等常见...

    javascript 使用技巧

    获取文件路径 通过字符串操作,可以从完整路径中提取出文件所在目录的路径: ```javascript var str = "http://localhost/Home/manage/FCKeditor/dialog/fck_image.html"; str = str.replace(/[^\/]+$/, ""); ```...

    JAVA_jsp任意浏览器的图片上传预览

    不同的浏览器,如Internet Explorer(IE)、Firefox、Safari、Opera和Chrome,由于其渲染引擎和API支持的差异,对本地文件操作的支持各不相同。例如,IE6、IE7、IE8、IE9以及Firefox的不同版本之间就存在显著的区别...

    基于jquery跨浏览器显示的file上传控件

    总的来说,`jquery.fileEveryWhere.js`插件是解决浏览器之间`input[type=file]`样式和行为差异的一种有效方式,它通过JavaScript和CSS实现了跨浏览器的文件上传控件,使得前端开发者能更好地控制文件上传的用户体验...

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

    网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 ...JS:javascript源文件 JSP:HTML网页,其中包含有对一个Java servlet...

    解决Extjs上传图片无法预览的解决方法

    在IE中,它使用`select`和`document.selection.createRange().text`,而在Firefox和其他现代浏览器中,它使用`files`属性和`getAsDataURL()`方法来获取数据URL。 然而,需要注意的是,这种方法虽然可以工作,但在...

Global site tag (gtag.js) - Google Analytics