On Aug 5, 2009, at 9:42 PM, Jonas Sicking wrote:
2009/8/1 João Eiras <jo...@opera.com>:
How can one in a script check for UA support?
else if(localStorage){}
does not work for Opera**.
This obviously does not work because you need to prefix
localStorage with window "if(window.localStorage)" else the script
breaks because localStorage is a undefined identifier while
window.localStorage looks up a property in the window. Different
things, specific to ecmascript itself.
No, the window object is the global object where all global
variables are defined. Try the following:
<script>
a = 10;
alert(window.a);
</script>
I think the point is that if there is no global variable of name "x",
then "window.x" yields undefined, whereas "x" yields an exception.
That means that one way to check for the localStorage object is:
if (window.localStorage) {
// Code using localStorage here.
}
If you instead do:
if (localStorage) {
// Code using localStorage here.
}
Then you end up with code that simply throws an exception in browsers
that don’t have localStorage.
-- Darin