I have a dial-up internet connection and the slow speed is probably the
problem, but lately I have noticed that on some web pages I have to let the
page completely load before I can hit login or whatever is the next logical
thing to do. If I hit login before the current page loads I’ll get the browser
error screen. Aren’t there supposed to be some interrupts in good programming
that allow the keyboard to take control of the situation before the web page is
completely loaded? One of the pages I am having trouble with is Discover Card
while Master Card works like a champ. I suppose I could minimize the problem by
using the other card as the main one.
I can only speculate, but I’ve got a pretty good hunch as to what’s going
on. It is likely a design issue, meaning that it’s a side effect of how that
particular web page is constructed.
Absolutely you can interrupt the page download, but the problem is that if
you do the browser may not yet have everything it needs to do what you’ve
asked.
Become a Patron of Ask Leo! and go ad-free!
The most likely problem is Javascript.
Or, more specifically, when Javascript gets downloaded and
when it gets executed during the process of downloading the web
page.
As a refresher, Javascript is a programming language. Instructions can be
written in Javascript which can then be included on a web page. The “scripts”,
as they’re called, then execute in your browser to perform various tasks. The
most common example are things like animated menus – when you mouse over a menu
on a web page and the menu changes color or automatically fly’s out or does
something else, that’s often Javascript at work behind the scenes.
As the web has grown and become more complex, and as bandwidth has
increased, web designers are using more and more Javascript to make more and
more functional websites that do more than just display a static page of
information. GMail and the various Google web-based applications are great
examples.
In my experience it’s very common for banking sites to use Javascript in
various ways for their login process and, I believe, to perform some additional
security checks at login time.
make more and more functional websites that do more than just display a static
page …”
So why does it work “early” for some and not for others?
It’s all about web page design.
And I think that’s best described if we look at a hypothetical sequence of
events when you download a web page (for the pendants out there, I’m not saying
this is exactly what happens: this is an over-simplification for
purposes of example):
-
You request the login page from your bank’s site.
-
Your browser begins downloading the HTML file that is that web page.
-
The browser may begin displaying the HTML before the file is completely
downloaded. Typically this happens from the top of the page down, but this can
be severely impacted by specific page design. -
As it displays the page the browser encounters images, which are actually
separate requests it then makes of your bank’s web server. It may make
those requests when the image is encountered, or it may wait until the entire
HTML file has been downloaded, or it may happen somewhere in between. -
In addition, the browser may encounter Javascript, which may be either
embedded in the HTML itself, or an external reference needing a separate
request much like an image. Typically Javascript is executed as it’s
encountered, though I don’t believe that’s guaranteed. -
At some point that HTML file we started with finishes downloading.
-
At some point all the external references on that web page, like images and
external javascript, finish downloading. -
Any remaining Javascript that should be executed on page load should now be
in place and can be executed. -
The page is “done”.
That should be enough to at least theorize why logging in before a page has
completed download works for some sites and not for others.
Sites which require Javascript and reference it in the HTML file “early” –
before the login button is displayed or accessible – may work. By the time you
see and hit the login button all the pieces are in place for the login to
actually happen.
Sites which require Javascript but download and execute it “late” – some
time after the login button is displayed or accessible – may fail. If you click
the login button before that required Javascript has had an opportunity to
execute all the pieces are not in place for the login to actually
happen and the login fails.
And for completeness, sites that don’t require Javascript typically just
work.
As you’ve experienced you can quickly get a sense for which sites allow you
to login early. Unfortunately there’s no real remedy for the others. In some
cases all this is also impacted by how your browser chooses to perform its task,
so if you’re really motivated you can try the page in a different browser. It
might work, but it might not.
This may not apply to the website mentioned, but there are some sites don’t let you do anything until all the ads have loaded. Many of them are retrieved from third party servers which just adds to the bog time.