backgroundColor

C

cosmic foo

if i change the backgroundColor of a tag to 'red',
it works in both ie and mozilla.
if i change the backgroundColor of a tag to 'redd',
i get 'invalid property value' in ie, and no error in mozilla.
go figure.
 
V

VK

cosmic said:
if i change the backgroundColor of a tag to 'red',
it works in both ie and mozilla.
if i change the backgroundColor of a tag to 'redd',
i get 'invalid property value' in ie, and no error in mozilla.
go figure.

If I set background-color to "foobar", it doesn't work in neither
browser!. Even more strange: changing "foobar" to "eggog" doesn't
help!?
 
R

Richard Cornford

cosmic said:
if i change the backgroundColor of a tag to 'red',
it works in both ie and mozilla.
if i change the backgroundColor of a tag to 'redd',
i get 'invalid property value' in ie, and no error
in mozilla. go figure.

The CSS specification requires that unknown/unrecognised properties and
value be ignored. This is generally a good idea as it allows newer
features to be added and not cause problems for older implementations.

IE is in error for complaining instead of ignoring, but that is hardly a
surprise where IE's handling of CSS is concerned.

Richard.
 
A

ASM

cosmic said:
if i change the backgroundColor of a tag to 'red',
it works in both ie and mozilla.
if i change the backgroundColor of a tag to 'redd',
i get 'invalid property value' in ie, and no error in mozilla.
go figure.

and if you write

<p style="backgroundColor='red'">
insteed of
<p style="backgroundColor:'red'">
IE will do it
and Mozilla no

:)
 
R

RobG

VK wrote:
[...]
If I set background-color to "foobar", it doesn't work in neither
browser!. Even more strange: changing "foobar" to "eggog" doesn't
help!?

Try 'eggnog' and maybe the waiter will get you one ;-)
 
R

Robi

RobG said:
VK wrote:
[...]
If I set background-color to "foobar", it doesn't work in neither
browser!. Even more strange: changing "foobar" to "eggog" doesn't
help!?

Try 'eggnog' and maybe the waiter will get you one ;-)

I've tried 'beer' and my browser started drooling 8-0
 
V

VK

if i change the backgroundColor of a tag to 'redd',
i get 'invalid property value' in ie, and no error in mozilla.
go figure.

The main JavaScript/JScript property (never put in written by ECMA nor
even by browser producers) is the high "durt tolerance". Other words
the interpreter is build on the presumption that the users will try to
code with the maximum violation of coding rules and culture: missing
parenthesis, simicolons, pending else's etc. etc. This tradition comes
from Netscape, because LiveScript from the very beginning was made as a
"folk language" targeted to people who may never ever program before.
If you want to find some property of JavaScript that realy differs it
from other languages then this is one.

Owerall IE is the most "durt tolerant" browser on the market. It will
try to understand any "pidgin script" where any other browser would
give up on the first line.

In case of HTMLElement.style.backgroundColor = "foobar" IE indeed
demostrates some unnecessary "code care".

The assignment backgroundColor = someColor is a request of value to the
build-in color table. So backgroundColor = "redd" is a request of a
value using non-existing key (redd). So programmatically it's equal to
backgroundColor = undefined. So yes, IE should(?) simply ignore it and
use default color instead.
BTW in case of document.body.style.backgroundColor = undefined it does
it (uses default color).

If I set background-color to "foobar", it doesn't work in neither
browser!. Even more strange: changing "foobar" to "eggog" doesn't
help!?

:)

Irrelevant to the topic but maybe useful for the common programming:

The names "foo", "bar" and "foobar" are coming from Perl. Traditionally
they are used to denote some useless variables, functions and objects.
In the code stream it's like a comment: "this statement does nothing
useful, it's only for testing/demonstration purposes". The origin of
these names is lost by now, but we can guess that at least "foo" stays
from "foolish". (?)

"eggog" (originally "EGGOG") is coming from the first calculators with
build-in programming abilities. In case of a fatal math error prosessor
did the registers dump. This dump converted to ASCII was equal to
"EGGOG" string, this is what you saw on the display. From that time in
the programming sub-culture EGGOG means something fatally erroneus
("Change it, or EGGOG will get your program!"). It's getting obsolete
by now.
 
C

Christopher J. Hahn

VK said:
The names "foo", "bar" and "foobar" are coming from Perl. Traditionally
they are used to denote some useless variables, functions and objects.
In the code stream it's like a comment: "this statement does nothing
useful, it's only for testing/demonstration purposes". The origin of
these names is lost by now, but we can guess that at least "foo" stays
from "foolish". (?)

I've always understood that foobar derived from the common (at least in
America) acronymn FUBAR, which is inappropriate to expand in a public
forum.

The final four letters, though, indicate: Up Beyond All Recognition.
Guess what the F stands in for.

I may be mistaken there, but considering how terse one can get with the
language, and the incredible amount of magic it performs for you, I've
always felt the acronymn was particularly well-suited.


I'll leave it at that since this is off-topic here.
 
V

VK

I've always understood that foobar derived from the common (at least in
America) acronymn FUBAR, which is inappropriate to expand in a public
forum.

You're right:
<http://whatis.techtarget.com/definition/0,,sid9_gci748437,00.html>
Thank you for the hint.

And "foobar" then must be a "softened" form brought by some
Perl-humorist into the common use. Still in the programming practice
"foobar" is gone so far from the orifinal F-meaning, that now I guess
we can consider it as an all new word.
 
R

RobG

VK said:
You're right:
<http://whatis.techtarget.com/definition/0,,sid9_gci748437,00.html>
Thank you for the hint.

And "foobar" then must be a "softened" form brought by some
Perl-humorist into the common use. Still in the programming practice
"foobar" is gone so far from the orifinal F-meaning, that now I guess
we can consider it as an all new word.

I think you'll find the usage of 'foo' and 'bar' as common dummy names
pre-date Perl (which was 'born' circa 1987).

<URL:http://groups-beta.google.com/group/soc.net-people/msg/716e3446db058d2d>

The link below indicates that foo:

"Probably originally propagated through DECsystem manuals by Digital
Equipment Corporation (DEC) in 1960s and early 1970s; confirmed
sightings there go back to 1972"

<URL:http://www.faqs.org/rfcs/rfc3092.html>

Considerably before the development of Perl.
 
V

VK

RobG said:
I think you'll find the usage of 'foo' and 'bar' as common dummy names
pre-date Perl (which was 'born' circa 1987).

<URL:http://groups-beta.google.com/group/soc.net-people/msg/716e3446db058d2d>

The link below indicates that foo:

"Probably originally propagated through DECsystem manuals by Digital
Equipment Corporation (DEC) in 1960s and early 1970s; confirmed
sightings there go back to 1972"

<URL:http://www.faqs.org/rfcs/rfc3092.html>

Considerably before the development of Perl.

More and more interesting! Thank you.

P.S. And hell on backgroundColor! :)
 
J

John W. Kennedy

VK said:
You're right:
<http://whatis.techtarget.com/definition/0,,sid9_gci748437,00.html>
Thank you for the hint.

And "foobar" then must be a "softened" form brought by some
Perl-humorist into the common use. Still in the programming practice
"foobar" is gone so far from the orifinal F-meaning, that now I guess
we can consider it as an all new word.

There was probably some influence from the use of the nonsense word
"foo" in the surreal comic strip "Smokey Stover". See
<URL:http://www.toonopedia.com/smokey.htm>.
 
L

Lasse Reichstein Nielsen

Richard Cornford said:
The CSS specification requires that unknown/unrecognised properties and
value be ignored. This is generally a good idea as it allows newer
features to be added and not cause problems for older implementations.

The CSS specification is for CSS content, not setting via Javascript.
The relevant standard for that is the W3C DOM Level 2 Style
specification, in this case the setProperty method on the
CSSStyleDeclaration interface.
<URL:http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration>

According to specification, the setProperty method is expected to
throw a DOMException if the value to set "has a syntax error and is
unparsable". Whether that includes "somewhat parsable but
meaningless" is not elaborated, but I wouldn't fault a browser for
throwing an exception on any illegal value.

/L
 
R

Richard Cornford

Lasse said:
The CSS specification is for CSS content, not setting via
Javascript. The relevant standard for that is the W3C DOM
Level 2 Style specification, in this case the setProperty
method on the CSSStyleDeclaration interface.
<URL:http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclar ation>

According to specification, the setProperty method is
expected to throw a DOMException if the value to set "has
a syntax error and is unparsable". Whether that includes
"somewhat parsable but meaningless" is not elaborated, but
I wouldn't fault a browser for throwing an exception on
any illegal value.

But wouldn't that be "has a syntax error and is unparsable" by CSS
standards? And an unknown/unrecognised value (so long as it is not a
syntax error; contains a colon or some such) can be parsed, just as it
would be in a style sheet.

Richard.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top