You are here

События для скриптов

Программа поддерживает вызов функций из файла со скриптами при наступлении некоторых событий, которые описываются в файле конфигурации:

onBeforeLoadSettings
имя функции из файла со скриптами, которую нужно вызвать после того, как XML-файл с настройками будет загружен в память, но перед тем, как эти настройки будут считаны из памяти самой программой. В функции можно читать или модифицировать настройки перед их обработкой программой, а так же инициализировать нужные данные в скриптах перед началом работы. Например, можно изменять имена файлов с данными или загружать дополнительные настройки для самих скриптов. Отсутствующий или пустой параметр = не вызывать функцию.
onAfterSaveSettings
имя функции из файла со скриптами, которую нужно вызвать после того, как программа сохранит изменённые настройки из памяти в XML-файле, но перед записью этого XML-файла на диск. В функции можно сохранять дополнительные настройки скриптов или совершать иные действия, которые необходимы перед закрытием программы. Отсутствующий или пустой параметр = не вызывать функцию.
onProcessStatsInfo
имя функции из файла со скриптами, которую необходимо вызвать при обновлении статистики. В функцию одним параметром передаётся текст статистики, из функции возвращается текст, который необходимо отобразить в окошке программы. Данная функция может использоваться для отображения дополнительной статистики, обсчитываемой скриптами. Отсутствующий или пустой параметр = не вызывать функцию.
onBeforeStart
имя функции из файла со скриптами, которую нужно вызвать после того, как нажата кнопка Start, но перед запуском проверки. Может использоваться для открытия дополнительных файлов, соединений с базой данных и т.д. Отсутствующий или пустой параметр = не вызывать функцию.
onAfterStop
имя функции из файла со скриптами, которую нужно вызвать после того, как проверка ссылок полностью остановится. Может использоваться для закрытия открытых ранее дополнительных файлов, соединений с базой данных и т.д. Отсутствующий или пустой параметр = не вызывать функцию.
onHttpServerRequest
имя функции из файла со скриптами, которую нужно вызвать перед обработкой запроса встроенным HTTP-сервером. Данная функция может использоваться в качестве фильтра запросов к встроенному серверу, через неё можно организовать ограничение доступа к HTTP-серверу. В функцию передаётся один параметр HttpServerRequest, в котором указана вся информация по запросу, функция возвращает true, если запрос надо продолжать обрабатывать и false, если дальнейшая обработка запроса не требуется. Отсутствующий или пустой параметр = не вызывать функцию.
onLoadUrl
имя функции из файла со скриптами, которую необходимо вызвать для получения новой ссылки для её дальнейшей проверки. В данной функции можно читать данные из файлов произвольного формата, баз данных и так далее. Если указано имя функции, указанный файл со ссылками не открывается на чтение, т.к. ссылки (по одной) возвращает сама функция. Отсутствующий или пустой параметр = не вызывать функцию.
onBeforeWriteResultLine
имя функции из файла со скриптами, которую нужно вызвать перед тем, как строчка с готовыми данными будет записана в файл с результатами. В данной функции можно менять формат данных или отсеивать ссылки с нужными параметрами. Отсутствующий или пустой параметр = не вызывать функцию.

Примеры использования:

Пример вызова функции для события onBeforeLoadSettings="OnBeforeLoadSettings":

function OnBeforeLoadSettings()
{
	AddToLog("Loading settings...");
}

Пример вызова функции для события onProcessStatsInfo="OnProcessStatsInfo":

function OnProcessStatsInfo(stats)
{
	// параметр stats содержит всю статистику, отображаемую в программе.
	// дописываем своё сообщение к статистике
	stats += "Hello From JavaScript\r\n";
	// возвращаем изменённую статистику обратно в программу для показа в окошке.
	return stats;
}

Пример вызова функции для события onLoadUrl="OnLoadUrl":

var pagenum = 1;
function OnLoadUrl()
{
	var page = "http://example.com/page_" + pagenum + ".html";
	pagenum++;
	return page;
}

Пример функции, которая фильтрует входящие HTTP-запросы (событие onHttpServerRequest="OnHTTPRequest"). Функция может использоваться для предварительной фильтрации запросов, проверки доступа, логина-пароля, IP-адреса и так далее.
В функцию передаётся параметр типа HttpServerRequest, который можно свободно модифицировать.

// Функция должна вернуть true, если запрос необходимо обрабатывать дальше
// или false, если обработка не требуется.
function OnHTTPRequest(request)
{
	if (request.RemoteAddress == '127.0.0.1')
		return true;
	return false;
}