2011-04-28 2 views
0

У меня проблема, что иногда, когда пользователь открывает страницу, она, по-видимому, мерцает и изменяет размер. Посмотрите на журнал, кажется, что submit вызывается несколько раз, хотя я не могу быть на 100% уверен, так как я не могу воспроизвести его в своей собственной среде.submit бесконечный цикл в window.onload

Есть ли что-либо в нижнем коде, который кажется вам, или что-нибудь, что я мог проверить, чтобы выявить проблему.

Редактировать: Кажется, что .net-страница продолжает обслуживать страницу, а последующая функция submit() вызывается в событии onload, но она никогда не возвращает ее на сервер. У нас эта ошибка возникает на одной машине, но не на другой идентичной машине. Интересно, может ли это быть проблемой балансировки нагрузки.

Редактировать: Мы наконец-то смогли воспроизвести эту ошибку. Это связано с прохождением балансировки нагрузки, но до сих пор не знаю, в чем проблема. Иногда эта проблема возникает, и если это происходит, если вы закрываете IE и снова открываете ее, у нее есть шанс зафиксировать себя.

window.onload = function() { 
     if (document.getElementById("hfPostBack").value != "true") { 
      if (confirm('hfPostBackは:' + document.getElementById("hfPostBack").value + 'です.続行します')) { 
       document.getElementById("hfPostBack").value = "true"; 
       document.forms[0].submit(); 
      } 
     } else { 
      alert('hfPostBackは:' + document.getElementById("hfPostBack").value + 'です'); 
     } 
    } 

ответ

0

выясняет, что, изменив настройку безопасности IIS для веб-приложения с анонимного входа в систему для проверки подлинности Windows, устранила проблему.

По-прежнему не знаю, почему это происходит, но похоже, что это связано с балансировкой нагрузки, передающей аутентификационную информацию/олицетворение.

2
document.forms[0].submit(); 

Если форма, что код представления имеет действие той же странице форма включена, то это вызовет бесконечный цикл. (Load-Submit-Load-Submit ...)

+2

И в зависимости от формы и браузера он может просто вытащить перезагруженную страницу из кеша и снова нажать первую ветвь 'if'. –

+0

это хорошая идея. Хотя все еще расследуют. –

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

  • Нет связанных вопросов^_^