So the following code alerts false twice:
window.onload = function(){
alert(window.myframe.myarray instanceof Array);
function isArray(o) {
return Object.prototype.toString.call(o) === '[object Array]';
}
Long explanation here about why .constructor
fails with frames.
The problems arise when it comes to scripting in multi-frame DOM environments. In a nutshell, Array objects created within one iframe do not share [[Prototype]]’s with arrays created within another iframe. Their constructors are different objects and so both instanceof and constructor checks fail:
The two windows each create their own global script environment.
The Array constructor of one is not the same object as the other.
var win2=window.myframe;
alert(win2.myarray instanceof win2.Array); returns true