Работа с фреймами с moovweb sdk
Я создал проект с помощью moovweb sdk, и у меня возникли проблемы при редактировании контента в iframe на одной из страниц. Например, перемещение div внутри внутри iframe, похоже, не работает с тритием, который я пишу. Что я могу сделать с тритием, чтобы сделать эту работу? Домены разные К вашему сведению.
3 ответа
Если iframe имеет тот же источник ( http://m.yoursite.com/) или источник, который вы указали в своем config.json
Вы можете абсолютно использовать тритий! Однако, может быть, не так, как вы ожидаете!
Итак, iFrame собирается сделать отдельный запрос к src
расположение атрибута. Если вы убедитесь, что этот запрос проходит через SDK (переписав его) следующим образом:
$(".//iframe[@src]") {
attribute("src") {
rewrite("link")
}
}
Затем вы можете отобразить этот URL и выполнить свой обычный тритий на нем!
К сожалению, Tritium позволяет редактировать только атрибуты самого iframe, а не содержимое внутри.
Это связано с тем, что запрос содержимого в iframe выполняется после того, как браузер создаст DOM главной страницы. Tritium может перехватывать только первый запрос главной страницы, но не второй запрос контента из другого домена.
Я знаю два обходных пути:
- Добавьте второй веб-сайт в качестве проекта Moovweb, и вы сможете использовать Tritium для управления контентом. Затем вы можете указать фрейм оригинальной страницы на этот новый контент.
- Используйте JavaScript/AJAX для изменения содержимого iframe.
Тем не менее, это имеет значение для производственных доменов... Боюсь, я поспешил ответить на этот вопрос и обновлю его после того, как проведу дополнительные исследования.
Вам нужно проанализировать src iframe и написать в mappings.ts отображение для URL в src. Включите правильный файл.ts в папку страниц и начните преобразовывать его.