• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Joan
博客园    首页    新随笔    联系   管理    订阅  订阅
上传文件框在firefox浏览器中显示路径不全的解决方法

记录下firefox浏览器中上传文件框显示路劲不全的解决办法。

html文本:

<div>

   <span style="font-size: 15px; margin-left:200px;">导入</span>
        <input type="file" name="picpath" id="picpath" style="display: none" onchange="picpathchange()"/>
        <input name="path" id="path" readonly="readonly" style = "width:350px;font-size: 15px;height: 35px;"  class="bigTextBox" />
        <input type="button" value="浏览..." onclick="picpathclick()" class="whiteBtn" />

</div>

 

js代码

<script type="text/javascript">

function picpathchange() {
        $("#path").html("");
        $("#path").val(FilePath.getFilePath(document.getElementById("picpath")));
    }
    function picpathclick() {
        $("#picpath").val("");
        $("#picpath").click();
    }
    var FilePath = {
        getFilePath: function (fileBrowser) {
            if (navigator.userAgent.indexOf("MSIE") != -1) { fileBrowser.select(); return document.selection.createRange().text; }
            else if (navigator.userAgent.indexOf("Firefox") != -1 || navigator.userAgent.indexOf("Mozilla") != -1) return this.getFilePathWithFF(fileBrowser);
            else alert("Not IE or Firefox (userAgent=" + navigator.userAgent + ")");
        },
        getFilePathWithFF: function (fileBrowser) {
            try {
                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
            } catch (e) {
                alert('由于浏览器安全问题 请按照以下设置 [1] 地址栏输入 "about:config" ; [2] 右键 新建 -> 布尔值 ; [3] 输入 "signed.applets.codebase_principal_support" (忽略引号).');
                return;
            }
            var fileName = fileBrowser.value;
            var file = Components.classes["@@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
            try {
                file.initWithPath(fileName.replace(/\//g, "\\\\"));
            } catch (e) {
                if (e.result != Components.results.NS_ERROR_FILE_UNRECOGNIZED_PATH) throw e;
                alert("File '" + fileName + "' cannot be loaded: relative paths are not allowed. Please provide an absolute path to this file.");
                return;
            }
            return file.path;
        }
    }

</script>

 

图示:

作者:Joan
出处:http://www.cnblogs.com/Joans/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted on 2011-10-27 14:17  Joans  阅读(5149)  评论(1)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3