Jquery刷新新打开的窗口

时间:2015-06-14 15:33:26

标签: javascript jquery

我想刷新新打开的窗口,我有一个链接,当我点击它时我打开一个新窗口,所以我想在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);
});

此代码刷新原始页面而不是新页面。所以我想要一种刷新新方法的方法。

3 个答案:

答案 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);
});