У меня есть форма Pardot (Salesforce), отображаемая в iframe
и контролирующая разметку и скрипты на обоих доменах. Форма имеет прозрачный фон, и иногда фоновое изображение или цвет исходной страницы не имеет достаточного контраста с цветом текста меток формы. Вы не можете прочитать Имя, когда это темный текст на темном фоне.Как может iframe получить родительский цвет фона?
Моя цель состоит в том, чтобы установить body
класс внутри iframe
, который .light-bg
или .dark-bg
на основе цвета выборки родительского элемента, содержащего раму.
В этом коде iframe
сможет определить, имеет ли светлый или темный фон div.framed-lead-form
. Есть JS-плагины, чтобы получить насыщенность цвета элемента (у этого есть интересная лицензия https://gist.github.com/larryfox/1636338), но я не могу найти ничего, что работает через iframes.
<div class="framed-lead-form">
<iframe src="//go.pardot.com/id" allowtransparency="true"></iframe>
</div>
можно использовать PostMessage API для связи между 2 окном, или установить 'document.domain' внутри фрейма, чтобы соответствовать внешнему окну и может получить доступ к IFRAME с помощью сценария, который way – charlietfl