NS_BINDING_ABORTED отображается в Firefox с HttpFox - PullRequest
15 голосов
/ 01 апреля 2009

Я вижу, что некоторые вызовы сервера (используемые для целей отслеживания) на моем сайте прерывались в Firefox при просмотре через HttpFox. Это происходит при нажатии на ссылку, которая загружает другую страницу в том же окне. Работает нормально с всплывающим окном. Показанный тип ошибки: NS_BINDING_ABORTED. Мне нужно знать, отслеживает ли звонок сервер или нет. Он отлично работает с Internet Explorer. Есть ли какие-либо проблемы с инструментом? В этом случае вы можете предложить что-нибудь, что можно использовать и в Firefox.

Ответы [ 6 ]

5 голосов
/ 29 октября 2009

Итак, проблема в том, что используемый вами инструмент (HttpFox) сообщает вам код ошибки (NS_BINDING_ABORTED), который вы не понимаете?

http://markmail.org/message/m6z77uoixf3qu7u6 может быть полезным.

Кроме того, из вашего краткого описания и без знания того, что такое HttpFox, звучит совершенно нормально, что открытие страницы во время загрузки другой страницы отменяет загрузку на первой странице. Это не означает, что нагрузки были прерваны до того, как запрос был отправлен на сервер, что, похоже, вас волнует.

4 голосов
/ 25 февраля 2014

Поскольку ваш сервер не отправляет заголовки http Expires, браузер проверяет, является ли то, что находится в его кэше, текущим.

Способ, которым это происходит, заключается в том, чтобы отправить серверу запрос с указанием даты его наличия в кеш-памяти, а сервер отправляет статус 304, сообщая клиенту, что он имеет текущий. Другими словами, сервер не отправляет весь контент снова, а вместо этого отправляет только короткий заголовок, чтобы сказать, что существующий контент наличных является текущим.

Что вам, вероятно, нужно исправить , это добавить заголовки Expires к тому, что вы обслуживаете. Затем вы увидите, что сообщение NS_BINDING_ABORTED изменится на (cashe), что означает, что браузер просто извлекает контент из своей кеш-памяти, зная, что срок его действия еще не истек.

Я должен добавить, что при принудительном обновлении FireFox предполагается, что вы хотите дважды проверить, что находится в наличных деньгах, поэтому он временно игнорирует Expires.

1 голос
/ 31 августа 2012

NS_BINDING_ABORTED ошибка - лучший подход. Используя метод JavaScript «setInterval» с временной задержкой от мин. 0 до макс. 100 мс в зависимости от загрузки страницы, мы можем выполнить наш запрос ссылки на трек после запроса отправки страницы по умолчанию обрабатывается.

Лучшее в мире решение:

var el = document.getElementById("t");
el.addEventListener("click", avoidNSError, false); //Firefox

function avoidNSError(){
  ElementInterval = setInterval(function () {
 /* Tracking or other request code goes here */
  clearInterval(ElementInterval);
 },0);

};
1 голос
/ 09 ноября 2010

Я столкнулся с подобной проблемой, но определил причину.

У меня есть ссылка в первой ячейке строки таблицы и некоторый Javascript, который реплицирует эту ссылку на другие TD строки. Когда я нажимаю на «настоящую» ссылку (в первой ячейке), я получаю этот нежелательный побочный эффект; когда я нажимаю на другие ячейки в строке, все в порядке. Я чувствую, что это потому, что скрипт добавляет вторую ссылку на эту первую ячейку, когда она уже есть.

Следовательно, два мгновенных запроса на одну и ту же страницу, при этом первый прерывается вторым.

Эта техника довольно распространена, поэтому стоит обратить внимание.

1 голос
/ 30 июля 2010

Какой другой javascript у вас есть на странице? Возможно, запускается какой-то javascript, в результате чего запрос прерывается.

Я заметил то же самое в моем приложении. Я перенаправлял страницу в javascript (window.location = '/some/page.html'), но затем дальше по блоку кода я вызывал window.reload (). Предыдущее перенаправление было прервано, потому что был вызван window.reload.

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

0 голосов
/ 26 сентября 2013

У меня возникла похожая проблема, когда не хватало некоторых ресурсов (шрифтов), которые страница пыталась вызвать. Если у вас возникла проблема только в Firefox, пытается ли Firefox извлечь немного другой ресурс, чем в IE?

...