确保<a href="local file"> is opened outside of browser</a>

时间:2010-05-05 13:50:58

标签: html internet-explorer anchor fileshare

对于Intranet Web应用程序(文档管理),我想显示与某个客户关联的文件列表。生成的HTML如下所示:

<a href="file:///server/share/dir/somefile.docx">somefile.docx</a>
<a href="file:///server/share/dir/someotherfile.pdf">somefile.pdf</a>
<a href="file:///server/share/dir/yetanotherfile.txt">yetanotherfile.txt</a>

这很好用。不幸的是,当点击文本文件(或图像文件)时,Internet Explorer(我猜大多数其他浏览器)也坚持在浏览器中显示它而不是用关联的应用程序(例如记事本)打开文件。在我们的例子中,这是不受欢迎的行为,因为它不允许用户编辑文件。

此行为是否有一些解决方法(例如<a href="file:///..." open="external">)?我知道这是一个特定于浏览器的东西,只有IE的解决方案会很好(毕竟它是一个Intranet应用程序)。

2 个答案:

答案 0 :(得分:1)

您是否希望人们只是弄乱您服务器上的东西?我对此缺乏安全感......

我建议让用户在本地检查并使用数据库或类似信息,以便人们检查新的草稿。在将草稿实际写入服务器的文件系统之前,应以某种方式验证和验证草稿。

答案 1 :(得分:0)

我刚刚测试了它,它似乎有效(IE6,而不是FF或Chrome):

<HTML>
<script language="JavaScript">
  function startWord(strFile)
  {
    var myApp = new ActiveXObject("Word.Application");
    if (myApp != null)
    {
      myApp.Visible = true;
      myApp.Documents.Open(strFile);
    }
  }
</script>
<a href="javascript:startWord('file:///server/share/dir/test.doc')">test.doc</a>.

找到它here