我在一个域中有两个站点A和B.
实际上,我在网站A,并希望每个javascript打开网站B:
window.open("B.html","...","Attributes");
现在,我想在“contentloaded”之前使用这些属性来初始化网站A.有没有办法在加载站点B后获取这些属性:
document.addEventListener('DOMContentLoaded', function() {
// get these "Attributes" from transmitted window.open(..)
....
}
它是如何工作的?或者还有其他(新的)方法可以使它工作吗?我不想为此使用cookies或其他html5存储!
答案 0 :(得分:2)
您可以使用window.opener
从您重定向的页面中获取变量。试试这个:
document.addEventListener('DOMContentLoaded', function() {
window.opener.yourAttributesFromSiteA;
}
希望这有帮助
答案 1 :(得分:1)
您可以使用url参数将数据从一个页面发送到另一个页面并使用javascript捕获它:
function getQueryParams(qs) {
qs = qs.split("+").join(" ");
var params = {}, tokens,
re = /[?&]?([^=]+)=([^&]*)/g;
while (tokens = re.exec(qs)) {
params[decodeURIComponent(tokens[1])]
= decodeURIComponent(tokens[2]);
}
return params;
}
document.addEventListener('DOMContentLoaded', function() {
var qs = getQueryParams(document.location.search);
alert(qs.attribute1);
}
和你在站点A的js:
window.open("B.html?attribute1=somevalue","...",...);
答案 2 :(得分:1)
page2.html?param=paramvalue
要传递值的window.open
方法,可以与
<a href="page2.html?param=paramvalue" target="_blank"> ..
“新窗口”脚本可以通过
访问这些值window.location.search