backgroundColor

Discussion in 'Javascript' started by cosmic foo, Jul 24, 2005.

  1. cosmic foo

    cosmic foo Guest

    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.
    cosmic foo, Jul 24, 2005
    #1
    1. Advertising

  2. cosmic foo

    VK Guest

    cosmic foo wrote:
    > 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!?
    VK, Jul 24, 2005
    #2
    1. Advertising

  3. cosmic foo wrote:
    > 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.
    Richard Cornford, Jul 24, 2005
    #3
  4. cosmic foo

    ASM Guest

    cosmic foo wrote:
    > 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

    :)




    --
    Stephane Moriaux et son [moins] vieux Mac
    ASM, Jul 24, 2005
    #4
  5. cosmic foo

    RobG Guest

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



    --
    Rob
    RobG, Jul 25, 2005
    #5
  6. cosmic foo

    Robi Guest

    RobG wrote:
    > 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
    Robi, Jul 25, 2005
    #6
  7. cosmic foo

    VK Guest

    > 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.
    VK, Jul 25, 2005
    #7
  8. VK wrote:
    > 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.
    Christopher J. Hahn, Jul 25, 2005
    #8
  9. cosmic foo

    VK Guest

    > 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.
    VK, Jul 25, 2005
    #9
  10. cosmic foo

    RobG Guest

    VK wrote:
    >>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.
    >


    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.



    --
    Rob
    RobG, Jul 25, 2005
    #10
  11. cosmic foo

    VK Guest

    RobG wrote:
    > VK wrote:
    > >>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.
    > >

    >
    > 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.
    >
    >
    >
    > --
    > Rob


    More and more interesting! Thank you.

    P.S. And hell on backgroundColor! :)
    VK, Jul 25, 2005
    #11
  12. VK wrote:
    >>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.


    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>.

    --
    John W. Kennedy
    "Compact is becoming contract,
    Man only earns and pays."
    -- Charles Williams. "Bors to Elayne: On the King's Coins"
    John W. Kennedy, Jul 25, 2005
    #12
  13. "Richard Cornford" <> writes:

    > 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
    --
    Lasse Reichstein Nielsen -
    DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
    'Faith without judgement merely degrades the spirit divine.'
    Lasse Reichstein Nielsen, Jul 25, 2005
    #13
  14. Lasse Reichstein Nielsen wrote:
    > Richard Cornford writes:
    >
    >> 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-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.
    Richard Cornford, Jul 25, 2005
    #14
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. LeftHorn
    Replies:
    11
    Views:
    1,089
    Blinky the Shark
    Apr 1, 2006
  2. Cliff Cotterill

    DropDownList BackgroundColor not set

    Cliff Cotterill, Nov 15, 2007, in forum: ASP .Net
    Replies:
    10
    Views:
    750
    Juan T. Llibre
    Nov 16, 2007
  3. André
    Replies:
    4
    Views:
    445
    André
    Jun 19, 2008
  4. Philip

    default style.backgroundColor value

    Philip, Sep 19, 2003, in forum: Javascript
    Replies:
    1
    Views:
    106
  5. RobG

    backgroundColor and Firefox

    RobG, Nov 3, 2004, in forum: Javascript
    Replies:
    1
    Views:
    101
    Thomas 'PointedEars' Lahn
    Dec 12, 2004
Loading...

Share This Page