2015-06-14 3 views
0

Я хочу обновить новое открытое окно, у меня есть ссылка, и когда я нажму на него, я открою новое окно, поэтому я хочу обновить и отредактировать URL-адрес нового окна через 3 секунды.Jquery обновить новое открытое окно

$('.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

Сохраните атрибут нового окна и атрибут местоположения доступа.

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); 
}); 
+1

пожалуйста, рассмотреть вопрос о добавлении комментария, прежде чем downvote – Dhiraj

+0

Большое спасибо, что это помогло мне – ler

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

Ваш код будет обновить исходное окно, конечно.
вы должны изменить код, чтобы вы присвоить переменной:

w = window.open('/page/?q=param', '_blank'); 

«window.location.href» будет обновить текущее окно, а не другой, , а затем изменить его расположение в SetTimeout :

w.location.href = window.location.href.replace(/[\?#].*|$/, "/?q=new_value"); 
Смежные вопросы