2013-06-04 2 views
-2

Вот случай:Периодическая Javascript в браузере для отправки Http REQ

Я доступ к моему портал и есть одна кнопка Go to Suite. Нажав на эту кнопку, я переадресую на страницу suite без входа (только один знак on-sso). Теперь, чтобы сохранить сеанс на моем портале, мне нужно периодически отправлять HTTP-запрос (тип ping) на портал со страницы набора.

Я должен сделать это через javascript.

Я хочу знать, как javascript будет периодически запускаться в фоновом режиме и продолжать отправлять http req на мой портал даже после различных разных изменений страницы в браузере.

Будет ли установкаInterval работать в этом случае?

Plz help.Thanks.

+0

'Будет ли setInterval работать в этом случае?' ... у вас .. я знаю ... * попробовал * это? – Eonasdan

ответ

1

Да, и нет.

Метод setInterval будет работать нормально для отправки запросов до тех пор, пока страница загружается. Тем не менее, вам нужно запустить новый интервал на каждой странице, когда страница будет выгружена, интервал остановится.

+0

В пакете есть 100 страниц ... как я могу добавить его на всех страницах. Будет ли запись в манифесте html здесь? – VJS

+0

@VJS: Хм ... вручную? ;) Вы можете поместить Javascript-код в файл и включить его на страницах с помощью тега 'script'. В зависимости от вашего серверного решения может быть что-то вроде главной страницы или шаблона, где вы можете поместить код, чтобы он включался в несколько страниц. – Guffa

+0

Будет ли запись в "" abc.appcache поможет мне? – VJS

1

Я использовал этот тип конструкции, прежде чем с большим успехом

(function() { 
    // your code 
    ... 
    setTimeout(arguments.callee, 5000); 
})(); 
+0

На самом деле метод setTimeout() - это кулак javascrpt для команды «wait» и, к сожалению, используется для такого рода задач. Метод 'setInterval()' предназначен для этой задачи. – reporter

+1

«setTimeout» будет вызывать только обратный вызов один раз, а не периодически. Кроме того, он работает на одной странице, но он останавливается при переходе на другую страницу. – Guffa

+0

setTimeout только вызывает один раз, но это рекурсивно вызывает себя, так что нет. Я не знал о setInterval. Я это проверю. – feathj

0

Попробуйте setTimeout() Функция, которая используется для выполнения задач периодически.

+0

Нет, 'setTimeout' будет запускать функцию обратного вызова один раз, а не периодически, вам нужно запустить другой тайм-аут из обратного вызова, чтобы сделать его периодическим. Кроме того, он остановится при переходе на другую страницу. – Guffa

Смежные вопросы