Расширение Chrome: загрузка произвольных URL в iFrame

У меня есть расширение Chrome, которое поставляется с всплывающим окном, которое, помимо прочего, содержит iframe загружать сайты. В принципе я могу установить src атрибут iFrame и он отлично работает. Проблема, однако, заключается в том, что многие веб-сайты не позволяют загружаться внутри фрейма, что приводит к Refused to display '...' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN' ошибка. Справедливо!

После некоторого осмотра я нашел решение PHP/cURL, которое использует простой скрипт для извлечения содержимого URL-адреса с использованием cURL и возврата содержимого, которое, в свою очередь, затем используется в качестве значения для src приписывать. Вот сценарий grabber.php:

<?php
  $ch = curl_init($_GET['url']);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
  $content = curl_exec($ch);
  curl_close($ch); 
  echo $content;
?>

И вот код, который я использую, чтобы установить src атрибут iFrame:

$('#myIFrame').attr('src', './grabber.php?url='+someURL);

Опять же, это работает в принципе, но только для довольно статичных / простых HTML-сайтов. Как только веб-сайт становится очень динамичным, я получаю только некоторые фрагменты, то есть пропущенный контент и / или недостающие таблицы стилей. Короче говоря, то, что показывает iFrame, часто не имеет ничего общего с тем, как на самом деле выглядит веб-сайт.

Есть ли шанс заставить это работать должным образом для любого веб-сайта?

0 ответов

Другие вопросы по тегам