Убедитесь, что <a href="local file"> открыт вне браузера - PullRequest
2 голосов
/ 05 мая 2010

Для веб-приложения Интранет (управление документами) я хочу показать список файлов, связанных с определенным клиентом. В результате 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 (в конце концов, это приложение для внутренней сети).

Ответы [ 2 ]

1 голос
/ 05 мая 2010

ХОТИТЕ, чтобы люди просто возились с вещами, лежащими на вашем сервере? Это пахнет отсутствием безопасности для меня ...

Я бы рекомендовал разрешить пользователю проверять его локально и использовать базу данных или аналогичную информацию, чтобы люди могли проверять новые черновики. Указанные черновики должны быть каким-то образом проверены и проверены до того, как они действительно будут записаны в файловую систему сервера.

0 голосов
/ 05 мая 2010

Я только что проверил это, и, кажется, работает (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>.

Нашел здесь .

...