I have the following function, which I use (admitedly, as a hack, since I still havent understood javascript's bizzare variable scoping rules), to fetch all global variables with a known prefix, from within a script.
The function works well with FF and Google Chrome (presumbaly it would work with all Moz derivative browsers). However, I just tested it in IE8 (aka Uncle Bill [as in Bill Gates] browser), and (perhaps unsuprisingly), the function did not work. I debugged the function and it appears that global variables are stored in another object (I could be wrong, I've only been reading on JS for a couple of days now). In any case, here is the function, which works correctly in 'Moz bazed browsers:
function getGlobalProperties(prefix) {
var keyValues = [], global = window; // window for browser environments
for (var prop in global) {
if (prop.indexOf(prefix) == 0) // check the prefix
keyValues.push(prop + "=" + global[prop]);
}
return keyValues.join('&'); // build the string
}
Do I need a conditional branch (and a test to see if running under IE)?