2016-02-09 3 views
0

У меня есть два сайта (оба под моим контролем). На сайте 1 открывается страница на сайте 2 (см. Close pop-up from code behind, если вы хотите увидеть код)Обновить родительскую страницу с другого URL-адреса

Когда я закрываю всплывающее окно (на сайте 2), я хотел бы обновить родительскую страницу (с сайта 1). Я использовал JS ниже

<script type="text/javascript"> 
    window.onunload = refreshParent; 
    function refreshParent() { 
     var retVal = confirm("Are you sure ?"); 
     if (retVal == true) { 
      window.opener.location.reload(); 
     } 
     else { 
      return false; 
     } 
    } 
    </script> 


Button: OnClientClick="refreshParent()" 

Но это закрывает окно и не обновляет страницу. Как я могу обновить родительскую страницу?

ответ

0

Я думаю, что вы должны сделать возврат false после вызова метода перезагрузки, иначе ребенок сделает запрос на сервер.

+0

Не могли бы вы дать мне пример того, что вы имеете в виду? – Computer

0

Вы могли бы искать

window.parent.location.reload() 

Это, как говорится, есть одна проблема в вашем коде, который может понадобиться ваше внимание; линия

window.onunload = refreshParent; 

Это назначение refreshParent прежде, чем она определена. Когда эта строка будет выполнена, она скорее всего вызовет исключение и приведет к пропуску остальной части вашего javascript-кода (ниже). Чтобы исправить это, просто переместите эту строку в позицию ниже определения функции.

При всех вышеперечисленных изменений в месте, ваш Javascript код может закончить тем, что что-то вроде этого

function refreshParent() { 
    if (confirm("Are you sure ?")) { 
     window.parent.location.reload(); 
    } 
    else { 
     return false; 
    } 
} 
window.onunload = refreshParent; 
Смежные вопросы