Javascript 如何在Firefox和Chrome中通过网站链接打开文件夹?
我正在开发一个web应用程序,该应用程序需要一个从文件服务器打开文档文件夹的链接。文件夹可以在新浏览器选项卡或新窗口中打开,也可以使用计算机的默认文件浏览器程序(即Windows资源管理器)打开。此javascript应该可以实现以下功能:Javascript 如何在Firefox和Chrome中通过网站链接打开文件夹?,javascript,google-chrome,firefox,file-io,directory,Javascript,Google Chrome,Firefox,File Io,Directory,我正在开发一个web应用程序,该应用程序需要一个从文件服务器打开文档文件夹的链接。文件夹可以在新浏览器选项卡或新窗口中打开,也可以使用计算机的默认文件浏览器程序(即Windows资源管理器)打开。此javascript应该可以实现以下功能: window.open('file://///fileserver.companyname/public/Documents/","空白", 这个html也应该起作用: 但这两种浏览器都只能在Internet Explorer中使用,我们的用户总是使用Fi
window.open('file://///fileserver.companyname/public/Documents/","空白",代码>
这个html也应该起作用:
但这两种浏览器都只能在Internet Explorer中使用,我们的用户总是使用Firefox和Chrome。显然,Firefox和Chrome的默认安全设置不允许您在从“http://”网站调用请求时打开“file://”
我看到了一些关于这个页面的参考资料:它描述了为什么不能使用Firefox打开网页中的文件,并提供了一些解决方法。不幸的是,它只提供了两个选项:在每个浏览器实例上安装插件,或者为每个浏览器实例创建用户首选项文件。这两个选项都不可接受,因为我们的用户太多了。我工作的公司不愿意对需要访问此链接的每台机器应用任何东西。除此之外,我尝试了插件和首选项文件,唯一适合我的是IE标签插件。我认为LocalLinks不起作用的原因是我试图打开一个文件夹,而不是一个文件
这个stackoverflow问题描述了Chrome的类似选项:但再一次,LocalLinks插件对我不起作用,而且插件无论如何都是不可接受的
我还发现一个网站建议在Chrome()中使用命令行参数top open files,还有一个网站演示了如何自动应用参数(),但如果我读对了,它仍然涉及到对访问我们网站的每台计算机应用更改
是否有任何方法可以在Firefox和Chrome中以编程方式完全打开文件夹,即在我的web应用程序C#或Javascript代码中,而无需安装插件或将首选项文件添加到单个计算机?我不能改变任何这些业务要求
旁注:我们将C#与MVC4一起使用。我更喜欢使用C#中的控制器操作打开文件夹(因为如果文件夹还不存在,我希望在打开它之前创建该文件夹),但是客户端上的javascript或html是可以接受的。对于InternetExplorer,我可以在C代码中创建javascript,方法是将其包装到MVC控制器中内置的javascript(…)函数中。在Firefox和Chrome中测试IE标签时,我必须将其定义为href链接,而不是打开窗口的函数,否则IE标签将无法将其识别为链接。但对于我们的业务需求来说,这两种方法都不是可接受的解决办法。以下是简单的html代码:
但这段代码的问题是,它只在谷歌上有效 我还没来得及想出可行的解决方案,请求就被删除了,但如果其他人还在为这个问题苦苦挣扎,我将描述不需要任何工作站定制的解决方法
从技术上讲,他们不需要使用内置的文件资源管理器来打开文件夹。相反,在不违反任何浏览器安全规则的情况下显示业务所需信息的一种创造性方法是在不打开文件浏览器的情况下迭代文件,然后在浏览器窗口中显示文件夹/文件列表
使用和可以获得要显示的文件夹和文件的列表。当用户单击其中一个文件夹时,再次调用这些方法以获取下一级别的文件夹和文件名。当用户单击文件时,下载/打开它。这些方法将文件夹和文件名作为字符串列表返回,因此您只需在浏览器中使用自定义图标呈现列表。(这些方法来自C#的System.IO库。)我怀疑,如果您所描述的是可能的,那么它将代表一个安全漏洞。