2013-07-02 3 views
0

У меня есть гиперссылку в моем HTML документ какгиперссылок нажмите должен открыть документ в программе по умолчанию

<a href="file://c:/directory/file.txt">click</a> 

При нажатии на гиперссылку, указанный файл открывается в самом браузере.

Возможно ли открыть этот файл в блокноте или возвышенном тексте или любом текстовом редакторе, который является программой по умолчанию для типа файла (txt в этом случае). Могу ли я сделать это программно в javascript или jquery. Есть ли способ сделать это?

Примечание: Это просто отдельное приложение. Я разработал плагин, который ищет шаблоны, которые я дал в качестве входных данных, во всех файлах в данном исходном каталоге и распечатывал все имена файлов в этом каталоге, который содержит этот шаблон. Его печатают в выходной файл html отчета о выпуске. Я просто хочу связать имя пути к редактору по умолчанию, чтобы он мог его редактировать и сохранять. Никакой проблемы безопасности. Это можно сделать?

Если нет, есть ли другой способ выполнить эту задачу? Я могу сгенерировать выходной отчет в любом формате. Помощь Pls.

+1

вы не можете сделать это без ущерба для безопасности браузера. Вам нужно будет изменить тип MIME-браузера для TXT и связанного с ним файла по умолчанию. – ApolloSoftware

+0

Это сайт интрасети или только локальное автономное приложение? – Teemu

+0

Если это не локально, вы можете подумать, зачем вам нужно его открыть в «Блокноте». Может ли он вместо этого открыться в текстовом поле? Кроме того, это может быть продвинуто, позволяя пользователю вносить изменения, а затем сохранять его - либо обратно в файл .txt, либо, например, fileN.txt. – redditor

ответ

1

Вы не можете сделать это без ущерба для безопасности браузера. Вам нужно будет изменить тип MIME-браузера для TXT и связанных с ним программ. Если он находится в вашей локальной сети, и вы находитесь в домене, и у каждого пользователя есть права администратора на своих компьютерах, вы можете теоретически сделать взлом реестра и изменить настройки по умолчанию для открытия текстовых файлов во внешних редакторах, но это ставит под угрозу безопасность, и есть вероятность, что если вы находитесь в доменной сети, ваши привилегии администратора удаляются с локальных компьютеров.

+0

Спасибо за ответ. Это просто самостоятельное приложение. Так что никаких проблем с безопасностью. Я отредактировал описание вопроса. Пожалуйста, посмотрите на это и предложите мне подход. – Aniket

2

Из-за соображений безопасности HTML/JavaScript не разрешает доступ к локальной файловой системе.

http://en.wikipedia.org/wiki/JavaScript#Security

JavaScript и DOM обеспечивают потенциал для злонамеренных авторов поставить скрипты для запуска на клиентском компьютере через Интернет. Авторы браузера содержат этот риск, используя два ограничения. Во-первых, скрипты запускаются в песочнице, в которой они могут выполнять только действия, связанные с веб-сайтом, а не задачи общего назначения, такие как создание файлов. Во-вторых, скрипты ограничены одной и той же политики происхождения: сценарии из одного веб-сайта, не имеют доступа к информации, такие как имена пользователей, пароли или печенье, посланных на другой сайт

Вы должны сделать запрос на сервер для того, чтобы получить ресурс.

3

Как уже упоминалось, вы не сможете этого сделать без ущерба для безопасности вашего браузера. Но я наткнулся на ссылку, которая может помочь you.

<script type="text/javascript" language="javascript"> 
    function RunFile() { 
     WshShell = new ActiveXObject("WScript.Shell"); 
     WshShell.Run("c:/windows/system32/notepad.exe", 1, false); 
    } 
</script> 

Редактировать: Это открывает пустой блокнот, и он будет работать только в окнах. Вы можете использовать js, чтобы различаться между различными ОС и соответственно запускать текстовые редакторы по умолчанию, но я бы не пошел по этому маршруту. Почему бы не использовать онлайн-редакторы вместо этого?

+0

Это открывает пустой блокнот, почему бы не использовать путь к файлу? Также для IE. – Teemu

+0

Хорошая добыча! Я не понимал, что у меня хватит репутации, чтобы прокомментировать вопрос. К сожалению! Это должен был быть комментарий. –

+1

На самом деле я планировал ответить на что-то подобное, но я ожидал ответа OP на мой комментарий выше ... Если бы это был веб-сайт, это, вероятно, не сработает, даже в IE. – Teemu

Смежные вопросы