Ответ 1
Не знаю, почему, но в моем случае я исправил его, завернув вызов reload() в setTimeout с 100 мс.
setTimeout(function(){
window.location.reload();
},100);
Я использую действие AJAX после получения ответа, я хочу перезагрузить текущую страницу, для которой я использую:
window.location.reload();
Он отлично работает на Firefox и IE, но он не работает для Chrome; содержимое, которое я хочу показывать пустым.
Есть ли способ перезагрузить страницу в хроме?
window.opener.document.location.reload();
self.close();
Не знаю, почему, но в моем случае я исправил его, завернув вызов reload() в setTimeout с 100 мс.
setTimeout(function(){
window.location.reload();
},100);
попробуйте следующее:
window.location = self.location;
выше код не работает для некоторых браузеров, вы даже можете попробовать:
location.reload( true );
вы также можете попробовать
window.location.href = window.location;
Попробуйте: parent.window.location.reload();
Это не работает в Firefox 17 для меня.
Единственным другим способом, который я знаю, который работает во всех браузерах, является перенаправление на другую пустую страницу и перенаправление на текущую страницу.
Попробуйте следующее:
window.opener.location.reload(true);
window.self.close();
Это работает для меня во всех основных браузерах.
Если вы работаете с AJAX, вам нужно выполнить перезагрузку внутри функции успеха.
$.ajax({
type: 'POST',
data: '',
url: '',
success: function(data){
setTimeout(function(){
window.location.reload();
},100);
},
error: function(){
}
Попробуйте перезагрузить страницу с помощью JavaScript.
window.location.href = window.location.href;