Как создать тайм-аут на внешнем защищенном веб-сайте

Программа

В настоящее время я создал веб-систему киосков «все на стороне клиента», в которой есть 5 вариантов на выбор. 4 из этих вариантов — это ссылки на поставщиков, которых мы используем, содержащие логины для банковских продуктов.

Моя цель

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

Мои текущие проблемы

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

Варианты размещения киоска

В настоящее время я размещаю этот киоск и файлы в среде SharePoint, но при необходимости могу изменить его на собственный сервер iis. Несмотря на то, что я не большой поклонник IE, это то, что мы используем в качестве нашего бизнес-стандарта, поэтому мне нужно, чтобы это можно было использовать в этом браузере.


person user1842985    schedule 21.11.2012    source источник


Ответы (2)


Вы можете установить тайм-аут для сброса SRC Iframe, нет проблем.

Проблема в том, что у вас нет возможности узнать, активно ли пользователь использует внешний сайт. Ваш таймер может сбросить местоположение, пока они что-то делают. Политика того же происхождения не позволяет родительской странице прослушивать то, что происходит в iframe.

person Diodeus - James MacFarlane    schedule 21.11.2012
comment
Таким образом, это можно сделать с помощью iframe, но, как вы упомянули, я не могу определить, есть ли активность внутри? Если нет, то iframe был бы бесполезен для меня. - person user1842985; 23.11.2012

Вы можете просто загрузить внешний сайт в iFrame, а в родительском определить время ожидания. Этот пример будет перенаправлен через 3 секунды:

<script type="text/javascript">

t=setTimeout(function(){
    window.location = "http://YourHomepage";
},3000);

</script>
</head>

<iframe src="http://YourVendor"></iframe>

Очевидно, вам нужно будет изменить размер iFrame, поправить ссылки и изменить таймаут на что-то более подходящее.

person AyexeM    schedule 21.11.2012
comment
Спасибо, можете ли вы сказать, есть ли в iframe действия для сброса таймера? - person user1842985; 23.11.2012