Можно ли настроить Google Chrome на автоматическую перезагрузку после отключения сети в сценарии с киоском? - PullRequest
2 голосов
/ 22 августа 2011

У меня есть приложение киоска с сенсорным экраном, которое должно автоматически загружать домашнюю страницу браузера после сбоя сети. В данный момент в браузере отобразится ошибка «Невозможно подключиться к Интернету», и он будет ожидать перезагрузки вручную, прежде чем продолжить. Может ли это быть автоматизировано?

Я искал плагины и нашел некоторые плагины, которые имеют дело с автоперезагрузкой, но они, кажется, не работают в этом контексте. Я предполагаю, что плагин активен только при загрузке страницы, поэтому в этом случае с условием ошибки, возможно, плагин не активен.

Одной из альтернатив может быть переопределение страницы с ошибкой, отображаемой Chrome, но я не знаю, возможно ли это. Затем я мог бы создать экземпляр таймера Javascript для повторной загрузки, например, каждые n секунд. Возможно ли это?

Я видел предложение использовать кадры, чтобы позволить внешней рамке (которая никогда не обновляется) продолжать попытки загрузки внутренней рамки, но я не заинтересован в использовании рамок, если нет альтернативы. Я также видел предложение использовать вызовы AJAX для проверки работоспособности сети перед попыткой загрузки страницы, но это кажется излишним, если есть способ исправить ошибку только тогда, когда она произошла, а не предупредить ошибку при каждой загрузке страницы .

Кстати, хост-система - это Windows 7. Я стараюсь, чтобы браузер работал, если возможно, а не убивал и создавал новый процесс браузера.

Ответы [ 4 ]

4 голосов
/ 22 августа 2011

Если вы не хотите заниматься разработкой расширений Chrome, вы можете поместить свой сайт в iframe, а затем периодически обновлять iframe из родительского фрейма. Таким образом, вам не нужно беспокоиться о проблемах с ОС.

0 голосов
/ 08 января 2014

Я знаю, что вы используете Chrome, но в Firefox это тривиально, переопределив страницу netError.xhtml , чтобы сделать setTimeout(location.reload, 10000);.

0 голосов
/ 22 августа 2011

Предполагая, что linux, вы можете создать сценарий ifup, чтобы просто перезапустить браузер с чем-то вроде

#!/bin/sh
killall google-chrome
DISPLAY=:0 google-chrome

В debian / ubuntu отредактируйте / etc / network / interfaces, чтобы включить строку пост-вверх;Google ifupdown для других дистрибутивов.


В Windows вы бы поступили примерно так же со скриптом PowerShell.


Если вы действительно хотите точное поведение, которое вы описываете (безперезапустить весь браузер), я предлагаю вам разработать плагин / расширение: http://code.google.com/chrome/extensions/getstarted.html

0 голосов
/ 22 августа 2011

если контент был загружен из ajax с самого начала, то он мог бы просто вывести собственное сообщение на странице, так как он делает проверку через AJAX. Вероятно, всегда рекомендуется профилактика, а не лекарство

...