Firefox застрял на «ожидании» или «передаче данных из» - PullRequest
3 голосов
/ 22 апреля 2009

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

Firefox покажет новое изображение, но строка состояния застревает, показывая либо «передачу данных с www.server.com», либо «ожидание www.server.com», и это никогда не исчезнет. Через сетевое представление Firebug я вижу, что изображение правильно загружается при наведении, и больше нигде не вижу ошибок.

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

Является ли распространенной проблемой, что Firefox застревает, показывая этот статус? Каковы причины?

Ответы [ 4 ]

3 голосов
/ 22 апреля 2009

Не знаю, почему он застревает, но есть более эффективные способы выполнения опрокидывания. Поместите обычные и парящие изображения в одном изображении. Затем используйте background-position, чтобы сделать ролловер:

a.btn {
  background-image: url("/img/btn.png");
  background-position: 0px 0px;
}
a.btn:active {
  background-position: 0px 50px;
}
a.btn:hover {
  background-position: 0px 25px;
}

Указанный выше CSS предназначен для одновременного нажатия клавиш с тремя состояниями и высотой 25px. Верхнее изображение - это обычное изображение; ниже это изображение парения; под ним - изображение active, которое отображается при нажатии на ссылку.

Это избавляет от любых задержек загрузки между изменениями состояния опрокидывания. Если вы хотите получить фантазию, вы даже можете анимировать переходы, используя JavaScript (включая фреймы переходов).

2 голосов
/ 22 апреля 2009

В зависимости от операционной системы и типа сети, сетевое соединение может зависнуть по следующим причинам:

  • Операционная система на клиенте позволяет открывать одновременно только определенное количество соединений.
  • Сервер разрешает только определенное количество подключений с одного клиента (или IP-адреса).

Сетевые настройки по умолчанию в Firefox должны предотвращать 99% проблем, потому что Firefox не позволяет себе открывать слишком много подключений к серверу или открывать подключения слишком быстро. Кроме того, если все работает исправно, когда не удается открыть соединение, Firefox ставит в очередь любой запрос, который он собирался сделать, и помещает его в другое соединение, когда оно становится доступным, или что-то подобное.

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

Однако, исходя из описанных симптомов - то, что это кажется полностью воспроизводимым, я, вероятно, посмотрю на сервер. Безусловно, запросы в неиторную сеть с Firebug и всеми, но также проверяют журналы сервера, чтобы увидеть, если что-то идет не так. Если веб-сервер получил запрос, но по какой-то причине не смог его обработать, он должен быть зарегистрирован.

1 голос
/ 22 апреля 2009

Я не знаком с этой конкретной проблемой, но я провел некоторое тестирование для Necko, сетевой библиотеки, на которой работает Gecko.

В отсутствие некоторого кода, который подделывает поле состояния, строка состояния указывает на какую-то сетевую активность для www.server.com.

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

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

Если вы не можете выделить проблему на этом этапе, возможно, вы обнаружили новую ошибку! Очень маловероятно, но это произошло во время моего пребывания в модуле ... Вы должны сообщить об ошибке в bugzilla.mozilla.org, следуя самым последним и лучшим правилам регистрации ошибок.

0 голосов
/ 05 июля 2013

У вас проблемы с загрузкой сайта git.gnome.org и вы застряли при загрузке. Консоль говорит: Таблица стилей https://git.gnome.org/browse/cgit_text.css не была загружена, поскольку ее тип MIME "text / html" не является "text / css".

...