2009-11-18 3 views
1

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

Мой вопрос: могу ли я использовать greasemonkey для запуска exe и передачи параметра с веб-страницы или ограничения безопасности не позволяют этому работать.

Ive никогда раньше не пользовался greasemonkey, но эта функция сделала бы ее полезной, хотя она немного взломала ее.

+0

Это не Возможное. В противном случае кто-то запустит 'rm -rf /' после того, как вы нажмете ссылку на специально подготовленной странице. –

+0

@Ivan: greasemonkey не запускает удаленный код, если не сообщил пользователю, который устанавливает скрипты; тем не менее, невозможно запустить внешнее приложение. – Patonza

ответ

1

Я не думаю, что вы можете сделать это с помощью greasemonkey.

Вы можете настроить обработчик для определенных типов файлов. Когда Firefox встретит один из этих типов, он запустит приложение, связанное с типом. Вы можете создать сценарий, который возвращает номер телефона и тип mime-заголовка text/voip. Попросите приложение-оболочку открыть файл и передать параметры в приложение voip.

Это потребует от ваших пользователей установки вашей программы обертки voip. Установщик для обертки voip должен ассоциироваться с типом mime-типа text/voip.

How to associate mime types on windows.

Вот как я это сделать.

редактировать

В PHP на стороне сервера код это может выглядеть как

<? 
header("Content-Type: text/voip\n"); 
echo $_REQUEST['phone']; 
?> 

Вы назвали бы это нравится:

<a href="callPhone.php?phone=555-555-5555">Call this number!</a> 

он будет содержать

Content-Type: text/voip (This would only be in the header, you would never see this in the file) 
555-555-5555 
+0

Мне нравится это мышление, но как я могу создать файл voip, это должно быть сделано с помощью скриптов на стороне сервера? –

+0

Да, это должно быть очень просто.Когда вы указываете номера телефонов, укажите ссылку на callApp.php? Phone = 555-555-5555. callApp.php установит тип mime text/voip и будет обслуживать страницу только с текстом номера телефона. Ваша оболочка должна быть связана с этим типом mime. Ассоциация типа mime использует тот же механизм, что и ассоциация расширения файлов. –

+0

Вот ссылка для связи типов mime в окнах. http://msdn.microsoft.com/en-us/library/aa266423(VS.60).aspx –

0

Нет, вы не можете запускать внешнее приложение из greasemonkey.

Для этого вам понадобится плагин для браузера.

+0

Ну, расширения Firefox также могут запускать внешние приложения. Они также могут регистрировать свои собственные компоненты (т. Е. Могут делать то, что сделало бы внешнее приложение). – yingted

+0

Сценарий GreaseMonkey не является расширением Firefox. – Patonza

+1

Да, это не так. Я имел в виду, что OP должен написать расширение Firefox. – yingted

0

Если провайдер VOIP является Skype, вы можете открыть [skype:ohadcn?call][1] (замените ohadcn на свое имя пользователя), как только вы откроете любую ссылку, и она откроет Skype.

Кроме того, если вы являетесь провайдером VOIP, вы можете зарегистрировать свою программу для обработки протокола и открыть его таким образом.

[1]: skype:ohadcn?call