Чтение данных из iframe для использования данных для условных суждений - PullRequest
0 голосов
/ 03 сентября 2011

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

<iframe id="iframe" name="iframe">Inner code here, form and all inputs. </iframe>
<script>
data=document.getElementById("iframe").innerHTML;
</script>

Но это не работает, поскольку фреймы работают только со свойством источника. Затем я попытался получить тело iframe, используя свойство окна.

data=window.frames['iframe'].document.body.innerHTML;

Но это тоже не работает. Помогите. Заранее спасибо.

1 Ответ

1 голос
/ 03 сентября 2011

Мне не совсем понятно, что вы пытаетесь сделать, поэтому я просто перечислю то, что я считаю потенциальными проблемами с кодом, который вы опубликовали.

  • При использовании тега iframe любой текст между открывающим и закрывающим тегами отображается только в браузерах, которые не поддерживают iframe. Содержимое iframe загружается из URL-адреса, назначенного атрибуту src элемента iframe.
  • Чтобы получить документ, содержащий содержимое iframe, вы должны получить доступ к элементу iframe как объекту IFrame, а не как объект Window. Для этого вы должны использовать document.getElementById() (как вы делали в своем первом фрагменте кода); Вы не можете использовать массив window.frames[].
  • Во втором фрагменте кода вы пытаетесь получить доступ к элементу массива window.frames[], используя имя фрейма в качестве индекса; это не разрешено Вы можете использовать числовой индекс в массиве или получить доступ к фрейму, используя его имя в качестве свойства окна, например, window.iframe.
  • Как только вы получили объект IFrame, используя document.getElementById(), вы можете использовать свойство contentDocument этого объекта, чтобы получить документ, содержащий содержимое iframe. Используя этот объект, вы можете вызвать getElementById и т. Д., Чтобы получить желаемый контент из iframe.
  • Последнее замечание: учтите, что политика того же происхождения регулирует вашу возможность доступа к свойствам iframe из другого окна или фрейма. В частности, домен источника iframe должен совпадать с доменом документа, содержащего скрипт, который пытается получить доступ к свойствам iframe.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...