2014-11-28 3 views
0

У меня есть страница, содержащая iframe. enter image description herereload frame Через другую страницу

, когда пользователь нажимает на значке редактирования открывать новые окна для редактирования этого изображения enter image description here

enter image description here

после завершения редактирования изображения нажмите на сохранение.

Теперь как обновить ifram (первое изображение), чтобы обновить изображения, отредактированные?

есть способ в jquery или php для этого? или мне следует использовать сетевую розетку?

Я могу обновить страницы, которые вызывают редактор с помощью этого кода, но я хочу только перезагрузить фрейм.

<script language="javascript" type="text/javascript"> 
     window.open(\'\',\'_parent\',\'\');window.close(); 
    </script> 

Извините, что у меня плохой английский.

ответ

1

Поскольку это новое окно, вам нужно прежде всего открыть нож, который находится в window.opener. Дайте вашему iframe идентификатор, и вы можете связаться с ним, используя: document.getElementById. Собираем вместе, это было бы что-то вроде этого:

window.opener.document.getElementById('youriframe').location.reload(true); 

Вы также можете вызвать метод в контексте нож:

// in window opener: 
function refreshFrame() { 
    document.getElementById('IdOfYourFrame').location.reload(true); 
} 

// in new window (window open) you call the method by: 
window.opener.refreshFrame(); 

Я соединял Codepen Expamle продемонстрировать. Имейте в виду, что это работает только в том случае, если разные окна расположены из одного домена (защита междоменной безопасности window.opener).

+0

спасибо за повтор, этот код говорит erro: TypeError: window.opener.document.getElementById (...) имеет значение null, – ashkufaraz

+0

, но при использовании этого document.getElementById ('casesFrame'); в консоли на главной странице shoe me frame html – ashkufaraz

+0

Как вы открываете «новое окно» - и что возвращает window.opener в консоли? –