Skip navigation.

exploreopera

| Help

Sign up | Help

my booking form is a secret

, , , , ,

thomsonfly.com contains a hidden booking form. They don't seem to like bookings.

The reason? The booking form is within a table that is styled to be hidden:

<table class="fullwidth" id="hometable" style="clear: both; visibility:hidden;">


Another part of the code is hidden from non-IE browsers with conditional comments:

<!--[if IE ]>
<div id="loadMessage" style="position: absolute; z-index: 2; top:180px; background: url(/img/elements/anim_please_wait.gif) no-repeat center; width: 100%; text-align: center; height: 17px;" ></div>
<![endif]-->


..and there is some scripting that will remove the "loading" screen and show the search form if UA is IE. Naturally since the "loading" message is hidden with conditional comments, this:

(document.getElementById("loadMessage")).style.display = "none";


fails and stops the script before the table is un-hidden. Also obviously, they don't expect any booking visitors with JavaScript disabled, since then the form would simply never appear.

"Thomsonfly - the low fares airline that goes further to confuse you."

Q&A with Davidliveclipboard

Comments

avatar
Opera is killed by its "document.all" support. Again.

IMO, that's a really good candidate for a new site preference.

By Andrew Gregory, # 23. July 2006, 07:55:43

avatar
I think there should be a option in javascript options to disable document.all

By xErath, # 23. July 2006, 21:56:29

avatar
Well, I'm pushing for at LEAST making it deletable again so that one could use a simple user.js to fake no document.all support, would be really interesting to surf with that. (I'm pretty sure it used to be settable or deletable but that "feature" seems to have fallen through a gap somewhere.)

By hallvors, # 23. July 2006, 23:35:12

avatar
Opera's support for document.all can be disabled with a UserJS (the variable can be turned "magic"). No separate site preference is needed.

...I always wondered what goes on inside the heads of authors of such web sites.

By feldgendler, # 24. July 2006, 03:43:27

avatar
Such web developers probably don't know (care) about Opera too much. I.e. they may don't know that Opera supports both document.all and document.getElementById...

By FataL, # 24. July 2006, 14:57:54

avatar
Thanks Alexey, I didn't know that :smile:

By hallvors, # 26. July 2006, 19:47:19

avatar
One of the recent WebKit new features: Undetectable document.all, for compatibility with web pages that use it without checking.
Probably can be useful.

By FataL, # 22. August 2006, 15:31:06

avatar
@Fatal: I agree with that one.

document.all must evaluate to false whenever inserted in a boolean expression, yet document.all['foobar'] or document.all.foobar should work, this way not breaking the script, and prevent stupid IE browser sniffing that breaks Opera.
This is the best idea possible regarding document.all
I advise for the same to happen with attachEvent.
Many scripts sniff for attachEvent to clean symbols and stuff defined in scripts (to prevent IE's memory leaks) which break webpages when using the back button.

By xErath, # 16. September 2006, 04:49:11

avatar
xErath: this will break scripts which properly use document.all (not for browser sniffing but for detection of this particular feature):

if (document.all) {
// if document.all is there, use it for quick retrieval
e = document.all['xyzzy'];
} else {
// do some complex traversal
}

It's OK if the script does just this, but it might just refuse to work without document.all because it needs that.

By feldgendler, # 18. September 2006, 06:27:11

avatar
// do some complex traversal
like document.getElementById ?!?

document.all is mostly used for sniffing.
There are very few, rare, obscure cases of websites relying on this object only, not providing a DOM branch.
Opera would gain more by hiding it, than keeping the object visible.
That's what webkit did.

By xErath, # 19. September 2006, 01:49:50

avatar
The best idea is insert an option in site preferences to enable/disable document.all

By ale5000, # 19. September 2006, 21:18:01

avatar

Originally posted by ale5000:

The best idea is insert an option in site preferences to enable/disable document.all
Most user don't have the smallest idea of what document.all is and its implications.
It should be hidden by default, and visible only when masking as IE, but always present and supported.
I've seen too many webpages sniffing for document.all and then trying to use ActiveXObject, using setProperty/selectNodes, or providing stupid hacks for lack of hover in other elements besides anchors.

Of interest
https://bugzilla.mozilla.org/show_bug.cgi?id=248549

By xErath, # 20. September 2006, 02:43:36

avatar
Opera killed again with its document.all support
http://my.opera.com/community/forums/topic.dml?id=159901

By xErath, # 25. September 2006, 19:36:45

Write a comment

You must be logged in to write a comment. if you're not a registered member, please sign up.