humanemulator.net — справка.
Продукт, демо и покупка — на
хуманэмулятор.рф
|
Демо
|
Купить
|
API
|
лог изменений
set_hook
set_hook($action,$php_script); - задать хук (выполнение опереленного скрипта при достижении определенного условия) на определенное действие.Функция на вход принимает параметры:
"stop" - при нажатии кнопки 'Стоп'
"exitapp" - при получении команды app->exitapp (начиная с 4.9.21)
"quit" - при получении команды app->quit (начиная с 4.9.21)
После отработки функция возвращает результат своей работы в скрипт :
Пример использования
<?php // Scenario: Set hooks for script pause and stop actions $xhe_host = "localhost:7010"; if (!isset($path)){ // Path to the init.php file for connecting to the XHE API $path = "../../../Templates/init.php"; // Including init.php grants access to all classes and functionality for working with the XHE API require($path); } echo "\n<span>debug->" . basename(__FILE__) . "</span>\n"; // Example 1: Set hooks for unpause and stop actions echo "Example 1: Set hooks for unpause and stop actions\n"; $unpauseHookFile = "hook/hook_unpause.php"; $stopHookFile = "hook/hook_stop.php"; $result1 = WINDOW::$debug->set_hook("unpause", $unpauseHookFile); if ($result1) echo "Unpause hook set successfully to $unpauseHookFile\n"; else echo "Failed to set unpause hook to $unpauseHookFile\n"; $result2 = WINDOW::$debug->set_hook("stop", $stopHookFile); if ($result2) echo "Stop hook set successfully to $stopHookFile\n"; else echo "Failed to set stop hook to $stopHookFile\n"; // Step: Display message and pause script to trigger unpause hook echo "\nStep: Display message and pause script to trigger unpause hook\n"; $message = "To trigger the unpause hook, remove the script from pause."; WINDOW::$debug->message_box($message); WINDOW::$app->pause(0); // Step: Get result of unpause hook echo "\nStep: Get result of unpause hook\n"; $unpauseResultFile = "hook/hook_unpause.php.res"; if (SYSTEM::$file_os->is_exist($unpauseResultFile)) { $unpauseResult = SYSTEM::$textfile->read_file($unpauseResultFile); echo "Unpause hook result: $unpauseResult\n"; } // Step: Display message and wait for stop hook echo "\nStep: Display message and wait for stop hook\n"; $message = "To trigger the stop hook, click the stop script button."; WINDOW::$debug->message_box($message); // Long pause to allow manual stop sleep(5000); // Quit the application WINDOW::$app->quit(); ?>
# Additional paths import sys sys.path.insert(0, '../../../Templates PY/') xhe_host = "127.0.0.1:7017" from xweb_human_emulator import * # начало echo("<hr><font color=blue>debug.xxxxxxxxx</font><hr>") # 1 echo("1. Зададим обработчики (хуки) на действия снятия с паузы и остановки : ") echo(debug.set_hook("unpause","hook/hook_unpause.php")," ") echo(debug.set_hook("stop","hook/hook_stop.php"),"<br>") # сообщение debug.message_box("Для запуска хука снатия с паузы, снимите скрипт с паузы.") # поставим на паузу - после нажатия снятия с кнопки выполнится hook_unpause.php app.pause(0) # 2 echo("2. Получим результат работы хука (hook_unpause.php) : <br><br>") if file_os.is_exist("hook/hook_unpause.php.res"): debug.message_box(textfile.read_file("hook/hook_unpause.php.res")) # сообщение debug.message_box("Для запуска хука останова, нажмите кнопку остановить скрипт.") # большая пауза sleep(5000) # конец echo("<hr><br>") # Quit app.quit()
#region using using System; using System.Diagnostics; using System.Collections.Generic; using System.Linq; using System.IO; using System.Text; using System.Threading; using XHE; using XHE.XHE_DOM; using XHE.XHE_System; using XHE.XHE_Window; using XHE.XHE_Web; #endregion class Program:XHEScript { static void Main(string[] args) { // init XHE server = "localhost:7010"; InitXHE(); // начало echo("<hr><font color=blue>debug.clear_tab_content</font><hr>"); // 1 шаг echo "1. Зададим обработчики (хуки) на действия снятия с паузы и остановки : "; echo $debug->set_hook("unpause","hook/hook_unpause.php") . "\n"; echo $debug->set_hook("stop","hook/hook_stop.php")."<br>"; // сообщение $debug->message_box("Для запуска хука снатия с паузы, снимите скрипт с паузы."); // поставим на паузу - после нажатия снятия с кнопки выполнится hook_unpause.php $app->pause(0); // 2 шаг echo "2. Получим результат работы хука (hook_unpause.php) : \n\n"; if ($file_os->is_exist("hook/hook_unpause.php.res")) echo ($textfile->read_file("hook/hook_unpause.php.res"))."<br>"; // сообщение $debug->message_box("Для запуска хука останова, нажмите кнопку остановить скрипт."); // боьшая пауза sleep(5000); // конец echo("\n\n"); app.quit(); } }
// подключим функциональные объекты, если еще не подключен xhe_host="127.0.0.1:7010"; echo=require("../../../Templates JS/init.js"); // начало echo("<hr><font color=blue>debug.set_hook</font><hr>"); // 1 шаг echo("1. Зададим обработчики (хуки) на действия снятия с паузы и остановки : "); echo(debug.set_hook("unpause","hook/hook_unpause.js")+" "); echo(debug.set_hook("stop","hook/hook_stop.js")+"<br>"); // сообщение debug.message_box("Для запуска хука снатия с паузы, снимите скрипт с паузы."); // поставим на паузу - после нажатия снятия с кнопки выполнится hook_unpause.php app.pause(0); // 2 шаг echo("2. Получим результат работы хука (hook_unpause.php) : \n"); if (file_os.is_exist("hook/hook_unpause.js.res")) echo((textfile.read_file("hook/hook_unpause.js.res"))+"<br>"); // сообщение debug.message_box("Для запуска хука останова, нажмите кнопку остановить скрипт."); // боьшая пауза browser.sleep(5000); // конец echo("\n"); // Quit app.quit();
=============================================
Debug Объекты DOM System Vision Web Window
=============================================
если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
.