Re: Шаблоны поведения для новичков
Добавлено: Ср ноя 21, 2018 8:39 pm
А если создать файл скрипта (типа bash-скрипта), где прописать открытие окна браузером, а это скрипт запускать через шаблон?
отличная идея, что мы, действительно, упёрлись в php!Lerych писал(а): Ср ноя 21, 2018 8:39 pm А если создать файл скрипта (типа bash-скрипта), где прописать открытие окна браузером, а это скрипт запускать через шаблон?
Легко ищется поиском по содержимому, например, в windows_tts.class.phpLerych писал(а): Ср ноя 21, 2018 11:17 pm Я так подозреваю надо использовать для запуска скрипта что-то типа, safe_exec? Синтаксис такого кода можно где посмотреть?
Код: Выделить всё
safe_exec('cscript ' . DOC_ROOT . '/rc/sapi.js ' . $message, 1, $level);Код: Выделить всё
{
if (IsWindowsOS())
safe_exec(DOC_ROOT . '/rc/madplay.exe ' . $filename, $exclusive, $priority);
else
safe_exec('mplayer ' . $filename . " >/dev/null 2>&1", $exclusive, $priority);
}скрипт может работать с несколькими окнами и позволяет вам выбрать нужную вкладку в правом окне, используя сравнение строк для заголовков таблеток и используя возможность некоторых браузеров выбрать определенную вкладку путем отправки нажатий клавиш.
Код имеет два параметра: позицию вкладки в окне (число от 1 до 8) и подстроку заголовка вкладки, чтобы определить правильную вкладку.
Код ниже основан на Google Chrome, см. Комментарий к некоторым строкам кода, чтобы узнать, как изменить его для случая с Firefox (или вы можете изменить его, чтобы получить имя браузера во вводе).
Сохраните этот код в файле, скажем, например tab_refresh.sh
(Примечание: этот код расширяет этот код, как в ответе blockloop)
#!/bin/bash
BROWSER=google-chrome # Or BROWSER=firefox for the Firefox case
TABNUM=$1
TABTITLE=$2
CUR_WID=$(xdotool getwindowfocus)
for WID in $(xdotool search --onlyvisible --class $BROWSER)
do
xdotool windowactivate $WID
xdotool key "ctrl+$TABNUM"
# Or "alt+$TABNUM" for the Firefox case
WIN_TITLE=$(xdotool getwindowname $WID)
if [[ $WIN_TITLE = *"$TABTITLE"* ]]
then
xdotool key 'F5'
fi
done
xdotool windowactivate $CUR_WID
После создания файла сделайте его исполняемым, например, набрав:
chmod +x tab_refresh.sh
Наконец, чтобы использовать этот скрипт, вы должны ввести что-то вроде:
./tab_refresh.sh TABNUM TABTITLE
Например, скажем, вы хотите обновить 4-ю вкладку в окне Google Chrome, где заголовок 4-й вкладки содержит строку foo.
./tab_refresh.sh 4 foo
А это можно использовать:xor писал(а): Пт ноя 09, 2018 10:40 amКоллективный мозг не нашел решение для пхп((Lerych писал(а):Ясно. Спасибо. Какие ещё могут быть варианты?
Serge:
Или из чистого пхп хрен вообще окно открыть, ведь серверный язык?
skysilver:
Ну по логике да, пхп выполняется в бэкэнде и переключать вкладки в веб-морде он по умолчанию не может.
Отправлено с моего Redmi 4X через Tapatalk
отписал в предыдущей темеhc2hunter писал(а): Чт дек 27, 2018 12:24 pm Коллеги, вопрос по шаблонам поведения... Использую их для голосового управления.
Совершенно случайно наткнулся, что Алиса почему-то разрывает предложения, где встречается соединительное "и".
Когда я засылаю эту фразу через command.php она рвется на 2 команды.
hттp://192.168.168.188/command.php?qry="Главный вопрос жизни вселенной и вообще"
Вот что происходит в консоли Алисы:
gv.png
Пробовал брать в ковычки и без - бесполезно... Если перенести "и" или еще куда-то добавить - порвет фразу еще и там, превратив её в 3 строки!
В самом скрипте command.php нашел строку Define('DEVIDER', 'и');. Видимо оно и портит все? Но что с этим делать и можно ли просто удалить? Не повредит ли прочему функционалу?