Веб-страница с iFrames - PullRequest
0 голосов
/ 06 марта 2020

Я экспериментирую с созданием веб-сайта, где у меня есть два фрейма с другими веб-страницами рядом, и я хотел бы показать только определенную часть этих веб-сайтов.

Попытка изменить внутреннюю HTML этих веб-сайтов приводит к ошибкам, связанным с проблемами безопасности на нескольких страницах. Как я могу безопасно запустить Javascript внутри этих фреймов? Если это невозможно, есть ли хорошее предупреждение для iFrames, где я могу иметь доступ к веб-сайтам рядом?

Мне не важно иметь возможность редактировать оба iFrames, только один из них должен быть редактируемым.

1 Ответ

0 голосов
/ 06 марта 2020

iframe - это просто «дыра» на вашей странице, которая отображает другую веб-страницу внутри него. Содержимое iframe не находится ни в какой форме или является частью вашей родительской страницы.

Если ваш iframe загружен из того же домена, что и ваш родительский, то вы можете получить доступ к DOM документа в iframe из родитель.

Учитывая, что iframe принадлежит тому же домену, попробуйте использовать приведенный ниже код и посмотрите, работает ли он. Приведенный ниже код добавит CSS изменений в iframe. Если это работает для вас, вы также можете запустить javascript.

<script>
 var iframe = document.getElementById("frame1");
$('iframe').load( function() {
    $('iframe').contents().find("head")
      .append($("<style type='text/css'>  .lt{display:none;}  </style>"));
});
</script>

Если вы получаете «ошибки типа« отказано в разрешении ». Я думаю, то, что вы делаете, зависит от » политика того же происхождения . Это должно быть причиной, по которой вы получаете ошибки типа «отказано в разрешении».

Здесь вы можете проверить возможные решения.

Невозможно получить доступ к содержимому iframe (политика того же источника)

...