Применить CSS к содержимому iframe

Я использовал ниже код Это мой iframe:

<iframe scrolling='no' frameborder='1' id='fblike' src='http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.XYZ.com%2F&amp;send=false&amp;layout=standard&amp;width=450&amp;show_faces=true&amp;font&amp;colorscheme=light&amp;action=like&amp;height=50'></iframe> $('#fblike').contents().find('.pluginButton').css({'background','#FF8000'}); 

Я также применил Css напрямую

 .pluginButton { background: none repeat scroll 0 0 #FF8000 !important; } 

Тем не менее он не работает. Я хочу изменить фон pluginButton. Я хочу применить изображение к его фону. Как применить?

Если я правильно вас понимаю, то то, что вы хотите сделать, это ввести CSS в iframe, который загружает страницу Facebook.

Короткий ответ заключается в том, что это невозможно. Вот ответ, размещенный на SO с более подробным объяснением: могу ли я применить CSS к элементам iframe?

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

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

Вот еще одно объяснение: Как применить CSS к iframe?

Изменить: это не работает с перекрестным доменом.

Здесь есть две разные вещи: стиль блока iframe и стиль страницы, встроенной в iframe. Вы можете установить стиль блока iframe обычным способом:

<iframe name='iframe1' id="iframe1" src="empty.htm" frameborder="0" border="0" cellspacing="0" style="border-style: none;width: 100%; height: 120px;"></iframe>

Стиль страницы, встроенной в iframe, должен быть задан путем включения его в дочернюю страницу:

<link type="text/css" rel="Stylesheet" href="Style/simple.css" />

Или он может быть загружен с родительской страницы с помощью Javascript:

 var cssLink = document.createElement("link") cssLink.href = "style.css"; cssLink .rel = "stylesheet"; cssLink .type = "text/css"; frames['frame1'].document.body.appendChild(cssLink); 

Код установки css выглядит сдержанно семантически, поскольку html недоступен для обеспечения правильного использования selectors . Вы, вероятно, получаете доступ к элементу DOM прежде чем они станут доступными. Элемент фрейма может не стать готовым к событию document.read y, но на window.load Поместите код в window.load, чтобы гарантировать, что элементы в iframe доступны для скрипта.

 $(window).load(function){ $('#fblike').contents().find('.pluginButton').css({'background','#FF8000'}); })