asp.net 在网页中用ActiveX访问本地磁盘的文件夹,它只能兼容IE 用什么方法能够兼容其它
  <script type="text/javascript" >
              function BrowseFolder() {
                  try {
                      var Message = "请选择文件夹";
                      var Shell = new ActiveXObject("Shell.Application");
                      var Folder = Shell.BrowseForFolder(0, Message, 0x0040, 0x11); //起始目录为:我的电脑
                      if (Folder != null) {
                          Folder = Folder.items(); // 返回 FolderItems 对象
                          Folder = Folder.item();
                          Folder = Folder.Path; // 返回路径
                          if (Folder.charAt(Folder.length - 1) != "\\") {
                              Folder = Folder + "\\";
                          }
                          var bb = document.getElementById("<%=txtBackupPath.ClientID%>");
                          bb.value = Folder;
                          return Folder;
                      }
                  } catch (e) {
                      alert(e.message);
                  }
              }
        </script>
            我用上面的代码在网页上访问本地磁盘的文件夹只能兼容IE 有哪位大神知道什么方法能兼容其它浏览器 谢谢啦 感激不尽^_^

4个回答

用Flash、Silverlight等插件,因为它们支持各种浏览器。或者自己为别的浏览器写相应的插件。
另外,Shell Shell.BrowseForFolder这些都是Windows特有的东西,Linux Android MacOSX都没有,所以不仅是你的插件要兼容,你的代码也得自己去写。

你都用了asp.net,activex,这都是windows独有技术。被绑定了。其他系统就需要浏览器插件,然后再用对应的sdk访问本地系统。

访问客户端的文件系统原本就不是bs做的,改成c/s系统。你的代码只能ie下面跑,而且还得配置过浏览器才能运行

简单点你的代码“ var Shell = new ActiveXObject("Shell.Application");”只是适配了一部分浏览器,找找别的,都写全了就可以了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问