Существует веб-приложение, которое работает, загружая различные фреймы в iself. Он предоставляет некоторый код, к которому подключается дочерний iframes.управляет тем, что iframe видит как window.top?
Детский iframes access window.top вместо window.parent и находится вне моего контроля. Все работает нормально.
Теперь я хочу включить ЭТО ПРИМЕНЕНИЕ в качестве iframe на другом сайте. Это приложение не нуждается в «родительском» или «верхнем» доступе к этому другому сайту. Однако, когда дочерние iframe этого приложения делают window.top, они заканчиваются тем, что «верх» является другим сайтом, а не приложением.
В идеале, я хочу, чтобы window.top (в дочерних iframes) означал «это приложение», а не «другой сайт, который включал это приложение в iframe».
Кажется, окно.top читается только. Какие у меня варианты?
EDIT: У меня есть полный доступ к этому приложению и другому сайту. Исправлены только дочерние рамки внутри этого приложения.
В качестве примера возможных решений:
- Имейте это приложение вставить поддельный объект окна в ребенок рамка с .top со ссылкой на приложения.
- Передача всех файлов через серверный прокси-сервер, который динамически переписывает код дочерних кадров.
EDIT 2: Таким образом, «решение» должно заменить .top на .parent или .parent.parent, если оно дополнительно вложено в набор фреймов (случай несколько раз). Пока я могу это сделать, когда пользователь загружает свой HTML/js (который получает iframed) в CMS этого приложения. Тогда код никогда не поднимается полностью на другой сайт. Все еще ищет дополнительные опции, не связанные с модификацией файлов на диске.
Вы не можете контролировать это. – epascarello