Как обновить страницу без задержки?

banzikostik

Пользователь
Регистрация
25.04.2020
Сообщения
55
Благодарностей
2
Баллы
8
У меня есть несколько страниц сайтов и мне нужно периодически обновлять парсить и обрабатывать онфу на страницах.
Вопрос - можно ли как то включить обновление страницы и не ждать пока она там обновится, а заняться чем-то другим, а потом вернуться к ней с считать обновленную информацию.
 

banzikostik

Пользователь
Регистрация
25.04.2020
Сообщения
55
Благодарностей
2
Баллы
8
Или например как браузеру сказать - обновляй каждые 10 секунд?
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
Или например как браузеру сказать - обновляй каждые 10 секунд?
встроенными методами зенки никак. у нее последовательное выполнение шаблона.
через c# можно что нибудь намутить. если есть знания по c#.
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113
Надо тестить. Попробуй поставь таймаут на загрузку 1 сек. В состоянии занятости поставь все галки. Но тогда могут появится новые баги. Некоторые действия ждут загрузки страницы. Надо тестить, пробовать. Может даже в предложение запостить что-то дельное.
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 184
Баллы
113
Если загружаемая страница очень большая и не хотите, чтобы шаблон ждал окончания ее загрузки перед стартом следующих кубиков, то субъективно у меня только через C# получилось (потом можно обычные кубики зенки юзать):
C#:
//это аналог «Настройки таба – Таймаут». но если его использовать, то он через 3 секунды оборвет загрузку жестко (и код страницы недогруженный просто потеряется):
//tab.NavigateTimeout = 3;

//переходим по урлу нужному
Tab tab = instance.ActiveTab;
tab.Navigate("http://samlab.ws/", "");

// строку ниже закомментируем, иначе зенка будет ждать окончания загрузки, а это как раз не надо по ТЗ:
//if (tab.IsBusy) tab.WaitDownloading();
UPD: код сработает быстро при любых настройках кубика "Состояние занятости".
 
Последнее редактирование:

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113
так ему надо что бы страница сама обновлялась. во время работы других кубиков.
Хз там два поста. На первый ответ дали. Второй это дополнение к первому или отдельньныя просьба, не понятно.
 

banzikostik

Пользователь
Регистрация
25.04.2020
Сообщения
55
Благодарностей
2
Баллы
8
Если загружаемая страница очень большая и не хотите, чтобы шаблон ждал окончания ее загрузки перед стартом следующих кубиков, то субъективно у меня только через C# получилось (потом можно обычные кубики зенки юзать):
C#:
//переходим по урлу нужному
Tab tab = instance.ActiveTab;
tab.Navigate("http://samlab.ws/", "");

// строку ниже закомментируем, иначе зенка будет ждать окончания загрузки, а это как раз не надо по ТЗ:
//if (tab.IsBusy) tab.WaitDownloading();

// А это аналог «Настройки таба – Таймаут». но если его использовать, то он через 3 секунды оборвет загрузку жестко (и код страницы недогруженный просто потеряется):
//tab.NavigateTimeout = 3;
UPD: код сработает быстро при любых настройках кубика "Состояние занятости".
Спасибо получилось! Буду делать так, второе уже не актуально.
 
  • Спасибо
Реакции: orka13

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 184
Баллы
113
так ему надо что бы страница сама обновлялась. во время работы других кубиков.
для второго поста сойдет обычный зеновский алгоритм с циклом. Просто так заставить страницу обновляться периодически в браузере можно только на стороне сервера если вы владелец донора (мета рефреш или как его там..., я не особо в теме). Или чисто теоретически можно зенкой перед загрузкой страницы сделать подмену в коде, добавить туда JS скрипт для авто перезагрузки страницы, но хз реализуемо ли это. Думаю автор пока не может оптимальный алгоритм подобрать для шаблона и тыкает пальцем во все вариации.
 
  • Спасибо
Реакции: djaga

socrobotic

Client
Регистрация
14.02.2016
Сообщения
203
Благодарностей
86
Баллы
28
instance.ActiveTab.MainDocument.EvaluateScript("javascript:history.back()");
instance.ActiveTab.WaitDownloading();
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)