Могу ли я применить CSS к элементам iframe?

Я часто вижу сайты, использующие iframes, содержащие внешний сайт, и верхний кадр, содержащий функции JavaScript для пользователя.

например. программное обеспечение для пользовательской аналитики, панель Digg и т.д.


Какие-нибудь советы для экспериментов над чем-то подобным? =) Было бы замечательно знать

Ответы

Ответ 1

Нет, не из-за пределов iframe. <iframe> - это собственный мир. Если домены и т.д. Совпадают, Javascript может взаимодействовать и выходить и может (если он захочет) вводить CSS в дочерний фрейм.

Если <iframe> содержит контент из другого домена, вы почти ничего не можете сделать. Родительская страница управляет размером кадра и видима ли она, и может помещать свой собственный контент поверх фрейма, позиционируя и т.д., Но не может напрямую влиять на то, как визуализируется фактическое содержимое фрейма.

Ответ 2

Если это тот же домен, вы можете помешать содержимому iframe с помощью javascript следующим образом. Предположим, что id iframe равен IframeId. И вы хотите изменить цвет элемента с идентификатором "elementId".

$("iframe").load(function() {
   var frameContents;
   frameContents = $("#IframeId").contents(); 
   frameContents.find("#elementId").css("color","#fff");
});