页面中通过点击链接打开本地文件夹或者远程的文件夹,IE完美支持,chrome和FireFox会出现问题

        项目用到在页面中点击文件夹路径链接,可以弹出相应的文件夹。在IE中可以直接将文件夹路径当成网页URL路径来操作,主要有三种方式:1.将文件夹路径直接写在链接的href中;2.在js中使用window.open("文件夹路径");3.在js中使用ShowmodalDialog("文件夹路径")打开模式窗口。

        遇到的问题是chrome以及firefox对此支持的并不是很好。chrome中以上三种方式都无法实现,chrome中不允许在页面中打开本地的文件夹,或远程电脑上的文件夹,对于方法3,chrome版本37后不再支持ShowmodalDialog(),其实在版本37之前,chrome也是将ShowmodalDialog()当成window.open来处理。最后在chrome中的解决办法只能是用第1种方法,然后用户通过右击链接copy文件夹链接到其它地方进行打开(通过右击选择“新窗口中打开”是行不通的,chrome为了安全性考虑不允许,只能通过手动copy的方式)。  FireFox中虽然支持这种打开方式,但是使用这三种方式,打开的时候firefox都会默认前缀加上项目部署的服务器地址,比如本地的话就会加上localhost:8088// C:/program file(因为这3种方式都是将文件夹路径当成网页URL来进行操作),最后在firefox里的解决方案只能是通过用户点击链接后手动将前缀给去掉。


具体的一些原因如下:

IE里面输入file:///c:/windows/之类的地址后,其实这时候已经转到资源管理器了(资源管理器就是explorer.exe,在打开“我的电脑”和“我的文档”之类的目录浏览本机文件都是使用资源管理器的界面的)。
资源管理器的界面和IE(不包括IE7)很像,最大的区别在于“工具”里的最后一个选项,IE的是“Internet选项”,而资源管理器的是“文件夹选项”。

你也可以打开“我的电脑”,然后在地址栏中输入网址,然后点“转到”或者直接回车,这时候资源管理器就会变成IE,注意这时候窗口界面的变化哦!

而FF浏览本机文件则是采取文件索引的方式的。
以上就是IE和FF在这方面的区别


你可能感兴趣的:(javascript,ie,firefox,chrome,打开文件夹,js)