Сущетсвует ли способ получения информации с веб страницы в автоматическом режиме с помощью JS без хака?
Здравствуйте!
Есть веб страница ( далее побочная ), на которой хранятся данные в виде таблиц, данные вносят сотрудники другой организации, когда? Когда им вздумается! Существует острая производственная необходимость постоянно ( данные очень важные ) обновлять эту страницу в ожидании появления этих данных, т.е. каждую минуту сидеть и нажимать F5! Хотелось бы узнать, сущетсвует ли способ автоматизации данного процесса? Без использования кликеров ( нет возможности устанавливать или приносить с собой на работу стороннее ПО ) ! Например ( ну первое что приходит в голову, просто пока ещё не разбирался ) написать простенькую веб страничку с нуля ( назовем её основной), с помощью метода window.open('href. . .') открыть по ссылке веб страничку с интересующими меня данными ( побочную), не понятным для меня образом запустить скрипт на этой странице ( скорее всего тут будет загвоздка , но быть может вы подскажете ) ну и если данные появились, т.е. ( если проверить к примеру что в ячейке с интересующими меня данными item.textContent!=="") то к примеру сохранить эти данные в localStorage , закрыть эту страницу ( побочную), и уже на основной странице достать эти данные из сторэйджа ну а там уже можно их визуализировать как угодно! Я пробовал на побочной вебстранице в консоле пробегаться циклом по нужным мне данным, и это работает, НО ОФК в консоли после перезагрузки не будет сохраняться мой скрипт, НО возможно сущствует способ прописать скрипт в консоли побочнойстраницы открывая её по схеме указанной мною выше? В общем, надеюсь вопрос вам ясен, если есть варианты с удовольствием выслушаю, я только изучаю JS! Возможности написать какуюнибудь программу или загрузить её на рабочий комп НЕТУ, можно лишь открыть скромный блокнотик, и написать там <script type='text/javascript'>...</script>
"Существует острая производственная необходимость постоянно ( данные очень важные ) обновлять эту страницу в ожидании появления этих данных, т.е. каждую минуту сидеть и нажимать F5" - после этой фразы дальше не читал, перезагружать страницу можно просто с помощью юзерскрипта например.
Kovalsky, держи меня в курсе брат всякий раз когда хочешь показать, что ты знаешь больше чем я . . . Не понимаю смысла твоей фразы в данной ситуации, наверное если я задаю подобный вопрос ( выше ) я не знаю про способы указанные тобой? так ведь? хм. . . и что я получаю в ответ ". . . после этой фразы даже читать не стал, перезагружать стр. можно просто с помощью юзерскрипта например . . " И если бы вы сударь всё же дочитали до конца, то поняли бы в чем собственно вопрос. . .
Muranx, прочитал. Ничего не понял. Не понял сути ограничений. Не вижу в оговоренных обстоятельствах никаких проблем использовать юзерскрипт. Даже если IE,
"наверное если я задаю подобный вопрос ( выше ) я не знаю про способы указанные тобой? так ведь?" - да, именно поэтому я и сказал про юзерскрипты, то есть на исходный вопрос же я ответил,
Хорошо, буду держать в курсе
Апдейт: ну кстати решил погуглить юзерскрипты на ИЕ, вдруг я действительно чего-то не понял и ИЕ в них не умеет. Да нет, вроде всё в порядке, ИЕ вплоть до 7го умеет в них. Так что я пока не понял суть претензии
Kovalsky, блин, я тебя не сразу понял, про какой скрипт ты говоришь . . . Ну бегло пробежавшись по данной тематике, везде пишут про расширения, а что делать если вообще нет возможности установить на браузер расширение? В этом думаю и есть ключевая проблема. . .
Muranx, в консоль конечно можно, но делать это нужно будет вручную. Да на самом деле вариантов решения проблемы наверное миллион, просто вряд ли кто-то из ответивших сейчас полностью понимает какие у вас условия
Kovalsky, условие простое, есть IE ( доступа в интернет нету, у нас ЭНТернэт, корпоративный ) есть блокнот ( да да, это рабочий древний комп ), есть определённые знания js, есть мотивация написать скрипт для ленивых ( т.е. чтобы не тратить время на обновления страницы в ручную ) ! Есть сайт, представляющий из себя кучу таблиц, НА данном этапе я даже не могу представить как это сделать то, что я хочу. . . единственное что я себе бы мог представить, это функцию setInterval( ( )=> {. . .}, 5000) которая через определённый период обновляет, или открывает нужную мне страницу, циклом пробегается по этим таблицам, находя нужно значение, и возвращает его к примеру уже в обработанной форме ( заранее написаной мною )! НО пока я сталкиваюсь со следующим, я прописываю в консоле браузера setInterval( ()=>{location.reload( )}, 5000) и после выполнения данного скрипта в консоле страница перезагружается и всё! ;D Если не трудно, поясни в какую сторону смотреть, быть может консоль? Или написать какуюнибудь веб страничку в блокноте, которая будет загружать нужную мне ссыль, и получать оттуда инфу . . . В общем ,ЕСЛИ не затруднит, если затруднит, я пойму !;D P.s.: обожаю пингвинов
Muranx, если речь о том чтоб просто достать данные, то думаю можно это и с помощью ноды или любого серверного средства сделать. Если какие-то непонятные ограничения не позволяют этого сделать, то можно пользоваться юзерскриптом. Если это тоже не подходит, то наверное проще всего будет на любом другом корпоративном компе поднять внутренний сервис который бы тянул нужные данные, а уже комп с ие обращался бы к этому сервису за данными
Да, если у вас нет возможности установить на пользовательские машины ваше приложение (или к примеру плагин в браузер) то у вас только один путь - написать веб приложение и попросить заходить на него пользователям.
Тупой пример - открывайте вебсайт в iframe и обновляйте по таймеру. Чуть более правильно - вы должны найти запрос на сервер, с помощью которого вы сможете определить, изменились ли данные или нет, и на своем веб-сервере в бакэнде выполняйте его в цикле с интервалом, как только данные изменились - отправляйте по вебсокет требование обновить страницу (iframe) у пользователей.
Недостаток iframe - есть вебсайты, которые не дают себя запускать так, ибо это уязвимость, позволяющая скрытно от пользователя выполнять на нем действия ( вслепую, двигая прозрачный фрейм на странице, подставляя под мышку пользователя нужные части)
Еще проблема, если вы отправите запрос на обновление страницы, пока пользователь работает с этим сайтом, его не сохраненные данные будут потеряны - вас будут тихо ненавидеть, т.е. нужно отслеживать события клавиатуры и мышки и не делать обновление, если они были недавно.
rPman, уфф, мдамс . . . до бэкэнда я вообще пока ещё не дошёл, да и думаю что написать бэкэнд как скрипты JS в блокноте не получится. . . Ну а по части второй проблемы, думаю она не является проблемой, т.к. на этом сайте ты ничего не вводишь никуда, я просто получаю информацию ( визуальную ). . . Так что, даже если перезагружать эту страницу, то ничего страшного не будет, данной машиной пользуюсь лишь Я, НО данные ( как мною было сказанно выше ) мне нужно получать оперативно, и желательно автматически. . . Короче, я так понял, без бэкэнда мне на этом поле нех ловить?
Muranx, если нет ввода данных то тогда не нужно беспокоиться и бакенд не нужен, автообновление страницы это штатная команда в html. Т.е. вы можете обойтись тупо статикой
НО ОФК в консоли после перезагрузки не будет сохраняться мой скрипт
В консоле хрома есть Overrides с помощью которого можно заменять ресурсы страницы, в данном случае файл js внедрив в него кусочек своего кода (например, перезагрузка страницы каждую минуту с внесением в localstorage и т.п.). Возможно поможет данный функционал. https://developers.google.com/web/updates/2018/01/...
Лучший вариант наверно будет написать расширение, там и уведомление можно прикрутить, что появились новый данные.