09-23-2005, 01:18 AM
09-23-2005, 02:00 AM
Some methods don't work with some browsers.
09-23-2005, 02:06 AM
Error 795: Not enough info.
Microsoft released a version 6 that was moderately improved upon 5.0 and 5.5. Netscape released their browser while it was still in pre-alpha and of course, they got a reputation of buggyness and slowness that just piled on the instability of their older browser.
During this time, the DOM standard had evolved way beyond what Internet Explorer supported. Opera and Mozilla started taking market share. Apple joined the race with Safari, and today we see four "big" browsers out there: Internet Explorer, Mozilla, Safari and Opera. The last three are pretty similar in supported features, with Mozilla currently being the most complete and stable one. Internet Explorer has not gotten any significant update when it comes to scripting in years.
09-23-2005, 06:53 AM
- the Document object model (DOM) which provides access to the current web page most of which is supported by version 6+ browsers (and some even by version 5 browsers)
- the browser object model which provides info about the browser. With special functions that test which of three or four different methods is supported you can write code that is effectively browser independent.
09-23-2005, 03:22 PM
09-24-2005, 12:12 AM
09-24-2005, 05:27 AM
09-25-2005, 01:23 AM
JScript = ECMAScript + smallpart(DOM) + different(BOM)
document.getElementById("myLayer").firstChild.data = "This is MY layer.";
And the final point that proves that they are all different things is that the latest version of each has a different version number.
ECMAScript third edition
09-25-2005, 03:38 AM
Let me hijack your example to show you just why I say this:
Okay, say I have a proxy adding this script before any other script on my pages:
alert('This page just tried to display a modal dialogue box. The box would have contained the page "'+a+'", would have had the name "'+b+'" and would have had the properties "'+c+'"');
Then the example you showed would indeed work in other browsers than iew. It would not work in the same way, but it would work. So, have I suddenly now created another language, one that has the exact same syntax and behavior, but has one added function? But as soon as I turn the proxy off, the same browser, with the same scripting engine, suddenly revert back to it's old language?
I'm pretty sure I'd get a very strong backup on this when I say: No. It's not another language. I also bet most would agree with me that something that doesn't change the language mechanics, grammar or syntax isn't a change in language. It's just a change in libraries. And from that reduction, you see that the only host environment parts that would possibly build another language are those affecting the libraries that are already in ECMAScript: the libraries for language native types; the libraries that are vital for behavior, error handling, scope handling, context handling, inheritance and delegation, syntax and grammar.