запуск Javascript через IE через PHP - PullRequest
0 голосов
/ 08 октября 2010

Мне нужно запустить код JavaScript на стороне сервера, используя IE8 (JavaScript работает с объектами ActiveX) Но мне нужно запустить его из командной строки, из PHP.

Короче говоря, я установлю apache + php на сервер Windows 2003, а php будет использовать system () для выполнения iexplore, запускающего страницу javascript.

Я хотел бы знать, возможно ли это логически, поскольку я вижу ряд подводных камней:

  1. PHP может не выполнить iexplore без входа пользователя в систему.
  2. iexplore может некорректно запускать javascript для взаимодействия с объектами ActiveX
  3. iexplore может не завершиться после завершения работы JS.

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

Edit:

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

Ответы [ 2 ]

0 голосов
/ 10 октября 2010

Есть ли у Dymo способ взаимодействия с ним из командной строки?Если это так, вы можете легко отправить ему команду через shell_exec().http://www.php.net/manual/en/function.shell-exec.php

Как правило, это самый простой вариант, когда вы можете управлять чем-либо через командную строку.Однако иногда вам требуется немного больше контроля (например, интерактивные программы командной строки), а иногда программа, которую вы хотите запустить, даже не основана на командной строке.В этих случаях вам может понадобиться proc_open() (http://www.php.net/manual/en/function.proc-open.php) или exec() (http://www.php.net/manual/en/function.exec.php)

). Просто убедитесь, что если вы используете exec(), вы перенаправите вывод !! .это может привести к зависанию программы на неопределенный срок.

Из руководства по PHP:

Примечание:

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

0 голосов
/ 08 октября 2010

Обязательно обновите свои пакеты обновлений и определения антивируса.Здесь я могу предвидеть много-много потенциальных проблем безопасности.

Имейте в виду, что JavaScript в IE работает с контекстом веб-страницы.Когда вы обновляете / перемещаетесь по страницам, старое состояние выполнения JavaScript стирается и начинается новое.

Был ли здесь конкретный вопрос?

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