JS调用activeX实现浏览本地文件夹功能 wekit内核只需要<input type="file" id="files" name="files[]" webkitdirectory/>即可,IE内核比较麻烦

研究了一天,js访问本地文件本身是不可能的,只能借助于插件。植入正题,IE仅支持ActiveX插件。

   function openDialog() {
        try {
            var Message = "请选择文件夹"; //选择框提示信息  
            var Shell = new ActiveXObject("Shell.Application");
            var Folder = Shell.BrowseForFolder(0, Message, 0x0040, 0x11); //起始目录为:我的电脑
            
            if (Folder != null) {
                Folder = Folder.items();
                Folder = Folder.item();
                Folder = Folder.Path;
                if (Folder.charAt(Folder.length - 1) != "\\") {
                    Folder = Folder + "\\";
                }

                document.getElementById("inputPath").value = Folder;//获取地址填入文本框中
                return Folder;
            }
        }
        catch (e) {
            alert(e.message);
        }
    }

  相应的点击事件调用即可。

一般都会出现没有权限的错误。设置IE安全,把你的网站添加到可信任区域,然后修改可信任区域的安全限制,把有关activeX的都启用,就会成功,显示文件浏览对话框

闲的时候可以学习一下,非ie如何调用activeX,非ie的都是基于NPAPI来扩展。小人刚刚接触web开发,记录一下。

posted @ 2015-08-27 10:15  那是山  阅读(1059)  评论(0编辑  收藏  举报