Вы можете передать информацию в целевое окно через window.open, «javascript:», используя target, и даже инициализировать ее, если она не существует.
Например: у вас есть страница «mypage.html », а также объект javascript myObject и хотите передать из любого окна в браузере информацию foo = 'hello'.
mypage.html:
....
var myObject = {
qs = {},
init: function()
var b = window.location.href.split("?");
if(b.length > 1){
var p = b[1].split("&");
for(var i = 0; i < p.length; i++){
var c = p[i].split("=");
qs[c[0]] = c[1];
}
}
this.doFoo();
},
doFoo: function(){
var foo = this.qs.foo;
....
}
...
};
myObject.init();
...
вызывающего html:
window.open(
'javascript:if(typeof(myObject) == "undefined"){'
+ 'setTimeout(\'window.location.href = "mypage.html?foo=hello"\', 10);}'
+ 'else{myObject.qs={}; myObject.qs.foo="hello"; myObject.doFoo();}'
, "mypage"
);
setTimeout необходим только для chrom, потому что он получил свойство "window.location.href" не при запуске.