NS_BINDING_ABORTED Shown in Firefox with HttpFox

Solution 1:

Because your server is not sending HTTP Expires headers, the browser is checking to see if what is in its cache is current.

The way it does this is to send the server a request saying what the date of what it has in the cache is, and the server is sending 304 status telling the client that what it has is current. In other words, the server is not sending the entire content again but instead sending just a short header to say the existing cache content is current.

What you probably need to fix, is to add Expires headers to what you are serving. Then you will see the NS_BINDING_ABORTED message change to (cache), meaning the browser is simply getting content out of its cache, knowing it has not yet expired.

I should add that, when you do a FireFox forced refresh, it assumes that you want to double-check what is in the cache, so it temporarily ignores Expires.

Solution 2:

You shouldn't be worried just because you see something that looks like a failure code (NS_BINDING_ABORTED).

In http://markmail.org/message/m6z77uoixf3qu7u6 a Firefox developer confirms that NS_BINDING_ABORTED is simply an indication that a page load has been stopped.

It seems perfectly normal that opening a page while another page is being loaded cancels the loads on the first page. It doesn't mean the loads were aborted before the request got sent to the server, which seems to be what you care about.

[edit: reworded & removed the bit about me not being familiar with HttpFox, as people who see this in 2022 are probably not using it anyway.]

Solution 3:

What other javascript do you have on the page? Some javascript might be firing causing the request to be aborted.

I noticed the same thing in my application. I was redirecting the page in javascript (window.location = '/some/page.html') but then further down the block of code, I was calling 'window.reload()'. The previous redirection was aborted because window.reload was called.

I don't know what tracking you are using but it's possible that the request is being sent to your server but the request is aborted because another request was issued afterwards.

Solution 4:

NS_BINDING_ABORTED error - Best Approach -Using a JavaScript “setInterval” method with the time delay of Min ‘0’ to max ‘100’ milliseconds based on the page load, we can execute our track link request after the default page submit request is processed.

World best solution:

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);

};