В этот пост я также включил некоторую документацию неудачных попыток изменить 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 — прочитайте статью .