За последние 24 часа нас посетили 60265 программистов и 1810 роботов. Сейчас ищут 1244 программиста ...

Использовать содержимое IFRAME для основного окна

Тема в разделе "JavaScript и AJAX", создана пользователем pircul, 12 сен 2014.

  1. pircul

    pircul Активный пользователь

    С нами с:
    14 янв 2014
    Сообщения:
    100
    Симпатии:
    0
    Добрый день. Стоит задача сделать загрузку файлов без перезагрузки страницы. Я не долго думая решил реализовать эту задачу через IFRAME. Все хорошо, файл загружается, сама страница не перезагружается(только невидимый IFRAME).

    Загружаю картинки, и после успешной загрузки мне нужно сразу же показать пользователю эту картинку. От сервера получаю название картинки но проблема в том, что добавить эту картинку уже вне iframe не получается.
    Код добавляет всегда картинку внутрь IFRAME а нужно в основное окно.

    Вот функция которая срабатывает при событии onload для iframe
    Код (Text):
    1. function iload(){
    2.     var photo = window.document.getElementById('fn').innerText;//сюда сервер положил название картинки
    3.     var img = new Image();
    4.     img.setAttribute('id', 'loaded_img');
    5.     img.src = photo;//передали ссылку для отображения картинки
    6.  
    7.     document.getElementById('photo_container').appendChild(img);
    8.  
    9. }
    Как можно это побороть? Спасибо
     
  2. metadon

    metadon Активный пользователь

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    Нужно обратится из ifarame к родительскому окну, смотри в сторону parent.window.opener
     
  3. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Если же разные домены, соответственно PostMessage + разработка обходных решений для старых браузеров.