2010-10-30 3 views
3

Использование JavaScriptобновления дочернего окна от родительского окна

я есть кнопка обновления в моем родительском окне,

когда я нажмите кнопку обновления,

я хочу, чтобы обновить свое дочернее окно,

window.location.href = 'add_billing_order_frm.php? session_re_genrate = новый

Этот фрагмент кода перенаправлять страницы вместо обновления,

Я вещь есть сниппет как

opener.document.location.reload (истина);

, но это один для родительского окна обновления, но я хочу для дочернего окна Wiht варианта URL местонахождения

function show_billing_order_form(url){ 
    var childWindow = window.open(url); 
} 

function refresh_my_child_window(){ 
    return childWindow.location.reload('add_billing_order_frm.php'); 
} 

Чтобы открыть всплывающее окно (дочернее окно), я использовал этот show_billing_order_form перезванивает,

Для обновления дочернего окна, я добавить один значок обновления в моем родительском окне, чтобы обновить окно ребенка, в том, что значок обновления OnClick я называюсь refresh_my_child_window,

но ФУНКЦИИ п освежать мое окно ребенка ..

ответ

5

при открытии дочернего окна от родителя, помните, возвращаемое значение в переменной где:

var childWindow = window.open(/* ... */); 

... и если вы хотите, чтобы обновить ребенка:

childWindow.location.reload(); 

Вот быстрый и грязный пример (live copy):

HTML:

<input type='button' id='btnOpen' value='Open Child'> 
<input type='button' id='btnClose' value='Close Child'> 
<input type='button' id='btnRefresh' value='Refresh Child'> 

JavaScript:

(function() { 
    var childWindow; 

    document.getElementById('btnOpen').onclick = openChildWindow; 
    document.getElementById('btnClose').onclick = closeChildWindow; 
    document.getElementById('btnRefresh').onclick = refreshChildWindow; 

    function openChildWindow() { 
    if (childWindow) { 
     alert("We already have one open."); 
    } 
    else { 
     childWindow = window.open('http://jsbin.com/awiri4'); 
    } 
    } 

    function closeChildWindow() { 
    if (!childWindow) { 
     alert("There is no child window open."); 
    } 
    else { 
     childWindow.close(); 
     childWindow = undefined; 
    } 
    } 

    function refreshChildWindow() { 
    if (!childWindow) { 
     alert("There is no child window open."); 
    } 
    else { 
     childWindow.location.reload(); 
    } 
    } 
})(); 

Caveat: Я бы не рекомендовал подключения обработчиков событий с onclick атрибутов, как описано выше. Вместо этого я бы использовал attachEvent (на IE) или addEventListener (на основе стандартов), используя библиотеку, такую ​​как jQuery,, Используемые атрибуты выше, чтобы избежать затенения основной точки.

0
var childWindow = window.open("","name",/* .. */); 
childWindow.location.reload(); 
Смежные вопросы