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

在不同浏览器中获取File Input的路径

阅读更多

<!doctype html public "-//w3c//dtd html 4.01//en" "http://www.w3.org/tr/html4/strict.dtd">
<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>

分享到:
评论

相关推荐

    JS获取input file绝对路径的方法(推荐)

    在获取本地路径之前,脚本尝试启用`UniversalXPConnect`权限,这是一个高级的浏览器特权,允许脚本以更接近本地应用的方式访问系统资源。如果用户不允许赋予此权限,则会弹出提示,指导用户如何在配置中启用。 3. *...

    取得input要素的文件路径

    在早期版本的Firefox(例如18.0)中,当用户选择文件后,开发者可以通过`input`元素的`files`属性获取到`File`对象,而`File`对象的`name`属性则提供了文件的相对路径。然而,出于安全考虑,现代浏览器(包括Firefox...

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

    在网页开发中,`&lt;input type="file"&gt;` 是一个常见的文件上传控件,它允许用户选择本地的文件,如图片。然而,由于安全原因,现代浏览器并不直接提供所选文件的完整路径,而是返回一个相对安全的文件名或者一个沙箱内...

    android webview input=file 失效解决方案

    在`res/xml/file_paths.xml`中定义共享路径: ```xml ``` 最后,使用`FileProvider.getUriForFile()`获取URI: ```java Uri contentUri = FileProvider.getUriForFile(context, "your.package.name.file...

    文件上传input file简便美化方案(css)

    首先,我们要理解在不同浏览器中文件上传input(&lt;input type="file"&gt;)的表现形式存在差异,这主要是由于各个浏览器对HTML和CSS的解释以及渲染方式不同所致。为了达到在多浏览器中表现一致的效果,需要借助于CSS样式...

    如何将input type=file显示的浏览变成英文的

    通过上述步骤,我们可以轻松地将`&lt;input type="file"&gt;`的默认“浏览”按钮替换为英文的“Browse”,并且将选中的文件路径显示在一个自定义的文本输入框中。这对于需要统一界面语言的应用场景非常有用。

    如何在界面上打开文件夹并获取路径

    本篇将深入探讨如何在界面上实现这个功能,特别关注在Web应用中如何打开文件夹并获取其路径。 首先,我们需要理解浏览器的安全限制。由于浏览器的安全策略,JavaScript在浏览器环境中无法直接访问用户的文件系统,...

    js如何获取file控件的完整路径具体实现代码

    文章中提到的是在隐藏input file的情况下,如何在不同的浏览器中获取file控件的值,即用户选定文件的完整路径。 首先,需要了解的是,file控件的value属性通常仅包含文件的名称,而不包含完整路径。但是一些旧版的...

    input file获得文件根目录简单实现

    在Web开发中,有时我们需要获取用户通过`&lt;input type="file"&gt;`标签选择的文件的完整路径或根目录,以便于服务器端(如PHP或JSP)进一步处理。标题和描述提到的是一种简单的JavaScript实现,它涉及到前端与后端之间的...

    js弹出窗口 + 获取上传文件全路径

    如果确实需要获取文件的完整路径,一种可能的解决方案是利用`input`元素的`webkitdirectory`属性(非标准,只在某些浏览器支持),让用户选择一个目录而不是单个文件,然后获取目录路径。但这并不适用于所有浏览器,...

    php下载文件file_get_contents php input

    `php://input`主要用作处理原始请求数据,而`file_get_contents`主要用于从网络资源获取数据,这两者在PHP的输入/输出处理中扮演着不同的角色。 在实际应用中,你可能还会遇到如`php://output`这样的输出流,它允许...

    C# CS、BS获取文件路径

    因此,获取文件路径的方式有所不同,通常涉及文件上传。 1. **HTML5 File API**:通过HTML表单的`&lt;input type="file"&gt;`元素,用户可以选择文件,但只能获取文件本身,无法直接获取完整路径。可以通过`FileReader` ...

    firefox7.0及以上版本获取图片路径方法

    在探讨如何在Firefox 7.0及以上版本中获取图片路径的方法之前,我们首先需要理解一些基本的概念和技术背景。本文将深入解析两种主要方法:利用`getAsDataURL()`和`createObjectURL()`函数,来帮助读者更好地掌握在...

    javascript 获取表单file全路径

    在JavaScript中,处理HTML表单中的`&lt;input type="file"&gt;`元素时,尤其是在不同的浏览器环境中,获取文件的完整路径可能会遇到兼容性问题。本文将深入探讨如何在IE6、IE7以及Firefox等浏览器中获取文件输入控件的全...

    WebDirSelector获取本地路径

    如果确实需要获取本地目录路径,一种可行的方法是通过Flash或者Silverlight等插件,但这已经过时且不推荐,因为它们存在安全风险,并且在许多现代浏览器中已被逐步淘汰。 另一种方法是利用HTML5的File System API,...

    只修改input file组件的浏览按钮样式

    在前端开发中,`&lt;input type="file"&gt;`组件通常用于让用户选择本地文件并上传到服务器。不过,默认情况下,此组件的样式较为简单,不符合很多项目的视觉需求。为了提升用户体验,开发者经常需要自定义文件输入组件的...

    js中图片实时预览(兼容浏览器)

    同时,还需要确保该功能在不同的浏览器中兼容,尤其是在旧版浏览器中,可能需要使用一些兼容性处理的技巧。 知识点一:HTML5的File API File API是HTML5中的一部分,它允许JavaScript访问用户文件系统中的文件。...

    教你如何改变上传文件input的file属性.doc

    在JavaScript代码中,我们监听了`input[type='file']`元素的`change`事件,当用户选择文件后,检查文件路径中是否包含指定的文件扩展名。如果文件类型正确,将文件名显示在页面上,否则给出错误提示。 然后,我们...

Global site tag (gtag.js) - Google Analytics