Статьи

Используйте jQuery для изменения CSS в содержимом iFrame

В этот пост я также включил некоторую документацию неудачных попыток изменить CSS содержимого iframed в другом домене. Также некоторая информация о том, как изменить css в iframe в том же домене, что (насколько я знаю) не может быть сделано без прохода через прокси или тому подобное.

Междоменные усилия

Как это устроено:

Сравненный URL результат причина
http://www.example.com/dir/page.html успех Тот же протокол и хост
http://www.example.com/dir2/other.html успех Тот же протокол и хост
http://www.example.com:81/dir/other.html недостаточность Тот же протокол и хост, но другой порт
https://www.example.com/dir/other.html недостаточность Другой протокол
http://en.example.com/dir/other.html недостаточность Другой хост
http://example.com/dir/other.html недостаточность Другой хост (требуется точное соответствие)
http://v2.www.example.com/dir/other.html недостаточность Другой хост (требуется точное соответствие)

Вставьте рамку:

Способы изменить CSS в iframe

Некоторые из них работают, а некоторые нет, но я включил и то, и другое, чтобы вы обдумывали и принимали ваши собственные решения.

Этот метод не работает для меня.

 var text = 'hi'; var content = "    "+ текст +"   «;

 var iframe = document.createElement ("iframe");
 iframe.src = ' ' + 
            'body {margin: 0; отступ: 0; фон: прозрачный}' + 
            ''; 
  iframe.open (); 
  iframe.write (CSS); 
  iframe.close (); 

Дальнейшие мысли

jquery.frameready.js

frameReady: удаленный вызов функции для jQuery — jquery.frameready.js

Междоменные настройки, которые могут работать

Эти настройки должны работать и избегать междоменных проблем.

Сайт 1 — example.com или site1.example.com
Сайт 2 — site2.example.com

Все, что вам нужно сделать, это добавить эту строку JavaScript на сайт A и B:

 document.domain = 'example.com' 

Сайт 1 — example1.com или site1.example1.com
Сайт 2 — example2.com

Чтобы это работало, вам нужно создать поддомен, который называется, например, siteb.example.com. Затем укажите новый поддомен на IP-адрес foobar.com. Теперь оба сайта A и B расположены под example.com, и вы можете приступить к реализации решения 1.

Ифраме Прокси и хаки

Хорошая статья о том, как включить вложенные iframes для отображения контента — Читать статью .
Хорошая статья о безопасном междоменном взаимодействии iframe — прочитайте статью .