从链接打开本地文件夹

Sat*_*tya 30 html javascript

如何通过单击任何链接打开本地文件夹视图?

我尝试了很多选项

<a href="file:///D:/Tools/">Open folder</a> 要么

<a onclick="file:///D:/Tools/">Open folder</a> 要么

<a onclick="window.open(file:///D:/Tools/)">Open folder</a>

JFi*_*222 40

解决方案:启动可下载链接

以下适用于所有浏览器,但一如既往有警告.

背景:

"URL快捷方式"取决于操作系统.由于环境之间缺乏标准,以下解决方案适用于MS Windows.

如果您需要Linux支持以下解决方案,请参阅此文章.
*我与文章YMMV没有关系.

URL快捷方式有两种形式:

  1. 扩展名为.URL的文件是基于文本的.可以动态生成.

    [InternetShortcut]
    URL = file:/// D:/

  2. 扩展名为.LNK的文件是二进制文件.它们可以动态生成,但需要iShelLinkInterface实现.默认的操作系统限制很复杂,这会限制IIS进程到达Shell.

.URL是推荐的解决方案,因为动态生成在Web Languages/Frameworks中是可行的,并允许KISS实现.


概述/回顾:

  1. 安全限制不允许您直接从页面打开路径/启动资源管理器(如@Pekka所述).
  2. 外部托管的站点(不在您的本地计算机上)将不允许使用默认安全权限下的file:/// ... uri.

解决方案:

为资源提供可下载链接(.URL或.LNK).浏览器行为将在帖子结尾解释.

选项1:生成.lnk文件并将其保存到服务器.由于.LNK文件的二进制特性,这不是推荐的解决方案,但预生成的文件应该是可行的.

选项2:生成.url文件,并将其保存到服务器或动态生成.在我的情况下,我正在动态创建.URL文件.


解决方案详细信息(.URL):

  1. 将.url添加到Web服务器中的可用MIME类型.

    对于IIS打开该站点,选择MIME类型,并添加以下内容:

    文件扩展名= .url
    MIME类型:application/internet-shortcut

    Per @cremax ...对于像Apache服务器上的Chrome这样的Webkit浏览器,将此代码添加到.htaccess或http.config:

    SetEnvIf Request_URI".url $"requested_url = url Header add Content-Disposition"attachment"env = requested_url

  2. .url文件是一个格式如下的文本文件(同样,这可以动态生成).

    文件内容:

    [InternetShortcut]
    URL = file:/// D:

  3. 提供指向生成.url文件的脚本或文件本身的链接.

    如果您只是将.url文件上传到服务器,请将以下内容添加到您的HTML中:

    <a href="URIShortcut.url">Round-About Linking</a>


浏览器依赖行为

Chrome:下载/保存file.url然后打开
在Chrome中,可以通过选择"始终打开此类型的文件"选项来增强此行为.

FireFox:下载/保存file.url然后打开

Internet Explorer:单击"打开"并直接进入目录(无需保存快捷方式)

Internet Explorer具有首选行为,但Chrome和Firefox至少可以使用.


Pek*_*ica 29

由于安全限制,在所有现代浏览器中禁用链接到本地​​资源.

对于Firefox:

出于安全考虑,Mozilla应用程序会阻止从远程文件到本地文件(和目录)的链接.这包括链接到硬盘驱动器上的文件,映射的网络驱动器上以及可通过统一命名约定(UNC)路径访问的文件.这可以防止许多不愉快的可能性,包括:

  • 允许站点通过检查默认安装路径来检测操作系统
  • 允许站点利用系统漏洞(例如,Windows 95/98中的C:\ con\con)
  • 允许站点检测浏览器首选项或读取敏感数据

对于IE:

Internet Explorer 6 Service Pack 1(SP1)不再允许从Internet区域浏览本地计算机.例如,如果Internet站点包含指向本地文件的链接,则当用户单击该链接时,Internet Explorer 6 SP1将显示空白页.以前版本的Windows Internet Explorer遵循指向本地文件的链接.

对于Opera(在安全建议的上下文中,我确信有一个更规范的链接):

作为安全预防措施,Opera不允许网页链接到用户本地磁盘上的文件

  • 那Chrome怎么样? (2认同)