Для тех, кто имеет особые знания об этом, все это относится к WordPress «Настройщик тем», хотя на это не нужно отвечать.Javascript: Можно ли передавать данные в двух направлениях через iframe?
В принципе, у меня есть страница (на PHP), которая содержит левую «панель» настроек, которые применяются к содержимому iframe, который является правой частью экрана.
Концептуально, я ищу, чтобы использовать jQuery draggable, чтобы сделать CSS background-position
основного фонового изображения регулируемым через функцию перетаскивания. Мне нужно применить draggable()
на странице customize.php
, поставить там сценарий, а затем манипулировать DOM внутри iframe. Это нужно сделать на уровне контейнера/родителя, потому что на этом уровне есть настройка, которая будет обновлять координаты X и Y и сохранять их в настройках, хранящихся там.
Я думаю, что мне нужно бы невозможно, но мне интересно, если это возможно с JavaScript, чтобы сделать как из следующих действий:
- Получить содержимое фрейма
- Манипулирование DOM внутри iframe, отрегулируйте фоновое изображение с помощью
draggable()
и сохранитеbackground-position
координаты как атрибут данных, а затем сохраните их в соответствующем поле ввода параметров.
По моему опыту, манипулируя DOM внутри фрейма от «родителя»/уровень контейнера трудно, и мне интересно, если есть что-то я не знаю, это, безусловно, невозможно, или есть какой-то обходной путь? (Обратите внимание, что исходный домен тот же, поэтому не было бы проблем с междоменным iframe)
если область фрейма и родителя совпадает вы можете общаться между обоими. Вот как работают редакторы TinyMCE и CKEditor. js объекты могут передаваться между обоими, но с объектами dom, которые вам нужно заботиться из-за утечек памяти и других проблем. если вы используете библиотеки jQuery, они также будут работать, но только если контекст является правильным документом. –
дополнительное примечание. вы не можете получить перетаскиваемую работу из коробки из документа в iframe. это возможно, но для этого требуется некоторое событие, проходящее от iframe до документа, а также наоборот, и некоторые дополнительные настройки. но в целом это возможно. У меня что-то вроде этого работает. но поскольку это был просто тест, я не знаю, есть ли у меня его где-то еще. –
Спасибо за понимание.Если вы найдете его и почувствуете, что мне нужен код обмена, я с радостью соглашусь с ним в качестве ответа на благо других, которые хотят сделать то же самое. – Brian