Самый простой способ выполнить локальный файл из Firefox? - PullRequest
2 голосов
/ 15 ноября 2009

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

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

Что - кроме разработки собственного расширения FF - самый простой способ выполнить локальную команду (пакетный файл, который вызывает IDE) при щелчке в Firefox в Windows (7)? Я искал расширения, но не повезло. Может быть, использовать другое расширение, как Firebug или Greasemonkey?

Безопасность не является проблемой, поскольку она должна работать только на рабочей станции разработчика, и я могу изменить настройки своего локального Firefox.

Ответы [ 6 ]

4 голосов
/ 16 ноября 2009

Вы можете добавить новый протокол (например, «edit: //») в Windows (http://msdn.microsoft.com/en-us/library/aa767914(VS.85).aspx)) и написать небольшую программу-обработчик, которая выбирает имя файла из URL «edit: //» и передает этот файл редактору. Таким образом я научил windows понимать ссылки txmt (http://blog.macromates.com/2007/the-textmate-url-scheme/) так же, как мой Mac.

2 голосов
/ 16 ноября 2009

http://mozex.mozdev.org/

MozEX - это расширение, которое позволяет пользователю использовать внешние программы для следующих действий:

* edit content of textareas (possibly utilizing a spell-checker, color syntax etc.)
* view page source
* handle mailto, news, telnet and FTP links
* download files
* ... and many more :)

Универсальный обработчик позволяет вам ввести список схем протоколов, например, «abc: //, def: //» и Команда справиться с ними. Итак, ваше приложение генерирует URL, который начинается с выбранный вами (составленный) протокол, и mozex перехватит щелчок по URL и отправит URL-адрес выбранной вами команды в качестве параметра.

Я думаю, это именно то, что вы хотите.

2 голосов
/ 15 ноября 2009

Нет способа сделать это с помощью JavaScript. Но это выглядит возможно с аддоном Firefox. посмотрите на это .

1 голос
/ 15 ноября 2009

Пекка,

После прочтения ветки кажется, что вы хотите создать приложение, которое каким-то образом аутентифицируется на сервере, то есть «средний пользователь» не будет иметь к нему доступа. Если это так, то доставка через браузер невозможна без написания собственного расширения.

Выполнение аутентификации через GreaseMonkey затруднительно, но после аутентификации клиента не существует реального способа «запустить» трассировку.

Если сервер генерирует пакетный файл или какой-либо набор инструкций (сценарий, ярлык и т. Д.), Вы можете просто настроить браузер (или настроить локальный экземпляр вашего приложения в браузере) для запуска файла. Проблема в том, что у вас нет возможности автоматически аутентифицироваться!

Единственный другой способ, которым я могу представить, что вы можете заставить это работать, - это апплет Java, который будет громоздким и потребует инициализации Java каждый раз, когда вы захотите импортировать трассу.

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

Итак, на этой заметке я предлагаю пересмотреть написание расширения Firefox XUL, как упомянуто выше. Возможно, вам придется реализовать некоторый код XPCOM, чтобы он тоже работал. Вот некоторые ресурсы, которые помогут вам начать:

https://developer.mozilla.org/en/xpcom

https://developer.mozilla.org/En/XUL

http://ted.mielczarek.org/code/mozilla/extensiondev/

https://developer.mozilla.org/en/XUL_Tutorial/Introduction

1 голос
/ 15 ноября 2009

Я думаю, что ближе всего к этому можно придти, настроив в веб-браузере привязку определенного типа MIME к данному «вспомогательному приложению» (здесь программа IDE) и чтобы HTTP-сервер возвращал файл.

В противном случае проблемы безопасности диктуют, что браузер не будет запускать какие-либо «нестандартные» программы / логику на клиенте.

0 голосов
/ 15 ноября 2009

Я не знаю, какую IDE вы используете, но, например, в Eclipse вы также можете использовать встроенный веб-браузер для тестирования вашего веб-приложения, а исключения / трассировки в журнале консоли Eclipse уже имеют ссылки на исходный код обсуждаемый. Легко как то. Посмотрите, предоставляет ли ваша IDE нечто подобное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...