Как вы можете разделить два iFrames друг с другом? Например, я был значением элемента со второго iframe, а 1-й iframe имеет на нем элемент отображения. Мне нужно получить значение с 2-го кадра до 1-го. Как мне это сделать? Не говорите использование файлов cookie, потому что это повредит массивной суммой данных.Связь между iFrames?
ответ
Если элементы обслуживаются из одного домена, они могут напрямую обращаться друг к другу. Например, в iframe1
вы могли бы сделать:
document.getElementById('someDiv').innerHTML =
top.document.getElementById('otherIframe').contentWindow.
document.getElementById('someOtherDiv').innerHTML;
Использование top делает предположение, что этот код никогда не будет загружен в фрейм, иначе не будет указывать на то, что вы ожидаете от него. –
@MattBerkowitz, что вы имеете в виду? если у вас есть два iframes на странице и вызывается 'top' из них, это дает вам окно, из которого вы можете найти другой iframe. – jbabey
Нет, это дает вам самый верхний кадр, который может быть родителем или каким-то дедушкой и т. Д. Рассмотрим настройку, которую вы только что упоминали, все загруженные внутри другого iframe (мы не можем контролировать, кто может загружать нашу страницу в iframe), сверху будет верните эту самую внешнюю страницу, которая, вероятно, не будет иметь «otherIframe» для поиска (и может даже не удовлетворять требованиям CORS). Использование 'parent' вместо' top', вероятно, будет немного лучше, поскольку оно гарантирует, что вы делаете то, что думаете, что делаете. –
Я предупреждаю вас первый прочь, что вы будете нуждаться в полной способности кода модификации для обоих фреймов. Iframes обрабатываются строгой безопасностью; в противном случае я мог бы создать домен «bunkofamerica.com», поставить «bankofamerica.com» в iframe, а затем проанализировать пароль пользователя по мере его ввода. (Банки, как правило, имеют IFrame перебора кода в любом случае, но все же ...)
Вы ищете эту нативную функцию: https://developer.mozilla.org/en-US/docs/Web/API/window.postMessage
А вот библиотека GitHub моей компания использует, чтобы сделать это более кросс- совместимый с браузером: https://github.com/daepark/postmessage
jbabey правильный, если iframe находятся в одном домене и протоколе, то это проще.
Opera Docs объяснил это с лучшими соответствующими примерами https://dev.opera.com/articles/window-postmessage-messagechannel/#channel
Первых вещами первым, единственным способом кадра может взаимодействовать за пределы его самость, если содержимое, загруженное в обоих местах из того же домена, в противном случае вы собираетесь чтобы получить ошибку CORS.
Предполагая, что это все соус, я бы создал объект-менеджер объекта окна родительского фрейма.
window.Mgmt = {
frame1: $('iframe#frame1'),
frame2: $('iframe#frame2')
}
то ни в одном из фреймов, вы должны быть в состоянии получить доступ к этому объекту с помощью window.parent.Mgmt.frame1
и т.д.
- 1. Связь между iframes
- 2. Связь между iFrames не работает
- 3. Передача данных между двумя iframes
- 4. JavaScript/jQuery элемент перетаскивания между двумя iframes
- 5. Как сделать пространство между 2 Iframes
- 6. Отображение цветного дисплея GIF между iframes
- 7. Передача JavaScript Файловые объекты между iframes
- 8. Передача php сессии и vriables между iframes
- 9. Связь между двумя надстройками Firefox (межуровневая связь)
- 10. Обратная связь связь между двумя рельсами модели
- 11. Связь между двумя таблицами: установить связь между двумя таблицами
- 12. Связь между контроллерами JavaFX
- 13. Связь между фрагментами xamarin
- 14. Связь между двумя контроллерами
- 15. Связь между datanodes
- 16. связь между удаленными сервлетами
- 17. Связь между Linux-программами
- 18. Связь CBO между объектами
- 19. МИКРОСЕРВИСЫ - связь между ними
- 20. Связь между двумя столбцами
- 21. связь между двумя моделями
- 22. Связь между приложениями Heroku
- 23. Связь между различными формами
- 24. Связь между фрагментами
- 25. связь между вкладкой браузера
- 26. связь между двумя объектами
- 27. Связь между объектами - EntityFramework
- 28. Взаимная связь между людьми
- 29. связь между различными приложениями
- 30. Связь между GUI Java
Прежде всего, являются плавающие фреймы на том же домене? Или они с разных сайтов? – BBog
https://developer.mozilla.org/en-US/docs/Web/API/window.postMessage – epascarello
Это тот же домен. Итак, оба находятся на http://www.example.com – Matthew