我想刷新新打开的窗口,我有一个链接,当我点击它时我打开一个新窗口,所以我想在3秒后刷新并编辑新的窗口网址。
$('.link').on('click', function(e) {
e.preventDefault();
window.open('/page/?q=param', '_blank');
setTimeout(function(){
window.location.href = window.location.href.replace( /[\?#].*|$/, "/?q=new_value" );
}, 3000);
});
此代码刷新原始页面而不是新页面。所以我想要一种刷新新方法的方法。
答案 0 :(得分:1)
尝试
// set `popup` as reference to new `window`
var popup = window.open("/page/?q=param", "popup");
setTimeout(function() {
// set `location.href` of `popup`
popup.document.write("<script>location.href = location.href.replace( /[\?#].*|$/, '/?q=new_value');</script>")
}, 3000)
答案 1 :(得分:1)
当然,您的代码将刷新原始窗口 您必须更改代码,以便分配变量:
w = window.open('/page/?q=param', '_blank');
&#34; window.location.href&#34;将刷新当前窗口,而不是其他窗口, 然后在setTimeout中更改它的位置:
w.location.href = window.location.href.replace( /[\?#].*|$/, "/?q=new_value" );
答案 2 :(得分:0)
存储新窗口引用和访问位置属性。
var newWindow = window.open('/page/?q=param', '_blank');
你可以做这样的事情
$('.link').on('click', function(e) {
e.preventDefault();
var newWindow = window.open('/page/?q=param', '_blank');
setTimeout(function() {
newWindow.location.href = newWindow.location.href.replace(/[\?#].*|$/, "/?q=new_value");
}, 0);
});