Aatif Ali from Bangalore Ответов: 3

Функция SetTimeout не работает в chrome


Хай Друзья,

я вызвал одну встроенную в javascript функцию setTimeout('SessionWarning()', 2000).Эта функция выделяет приложение ma через 2000 миллисекунд.Эта функция отлично работает в Firefox, но не очень хорошо в Chrome..my полный код показан ниже

<script language="javascript" type="text/javascript" charset="utf-8">


      var authorized = "<%= HttpContext.Current.User.Identity.IsAuthenticated.ToString().ToLower() %>";
      if (getAbsolutePath().toLowerCase() == 'sessionexpired.aspx') {
          authorized = "false";
          //alert(authorized);
      }
      if (authorized == "true") {
          var sessionTimeoutWarning = "<%= Session.Timeout %>";
          sessionTimeoutWarning = sessionTimeoutWarning - 1;
          var sessionTimeout = "<%= Session.Timeout %>";
          var sTimeout = parseInt(sessionTimeoutWarning) * 60 * 1000;
          setTimeout('SessionWarning()', sTimeout);


          function SessionWarning() {
              var message = "Your session will expire in another " + (parseInt(sessionTimeout) - parseInt(sessionTimeoutWarning)) + " minute(s)! Please respond before the session expires";
              alert(message);

          }
      }
  </script

>

Эта функция автоматически переходит на страницу sessionexpired через указанное время в firefox..но в chrome оповещение останется неопределенным.если вы проверите оповещение, то оно автоматически отключится..

пожалуйста, помогите мне
Спасибо advnc
Аатиф-Бангалор

Samresh.ss

setTimeout работает в моей версии chrome. Должно быть, это какая-то другая проблема. Нажмите ctrl+shift+J и посмотрите, не видите ли вы какую-то ошибку в консоли.

Aatif Ali from Bangalore

Он работает частично...В firefox оповещение будет автоматически закрыто и страница перенаправится на указанный url-адрес..но в chrome оповещение будет отображаться неопределенно..Он закроется, когда VR нажмет на окно оповещения.и управление перенаправлением на указанный url-адрес во время щелчка.

Member 9438513

У меня такая же проблема, может ли кто-нибудь опубликовать решение, если эта проблема связана с предупреждением о том , как она решается, поставьте решение plz..

3 Ответов

Рейтинг:
12

Aatif Ali from Bangalore

Sory frnds...на самом деле проблема связана с функцией alert ()...не связана с SetTimeout()..

Я заменяю alert () одним пользовательским элементом управления


Member 9438513

Пожалуйста , поделитесь решением, связанным с предупреждением, у меня такая же проблема..

Рейтинг:
1

PositiveMojo

Google изменил политику безопасности контента, которая влияет на использование функции setTimeout() в некоторых браузерах. Пожалуйста, прочтите: https://developer.chrome.com/extensions/contentSecurityPolicy


Richard Deeming

ЕСЛИ установки CSP, а ЕСЛИ что CSP не указан unsafe-eval в качестве допустимого источника сценария, то setTimeout('some-string', ms); не получится.

Это не изменение, сделанное Google; это просто то, как работает CSP.

И это не имеет отношения к вопросу ОП, который уже решен.

Рейтинг:
0

Sampath Lokuge

Попробуйте ниже одного :

setTimeout(function () {SessionWarning();}, sTimeout);


Полезная ссылка : http://www.jquery4u.com/jquery-functions/settimeout-example/[^]