Chrome扩展程序:在iFrame中加载任意网址

时间:2015-07-12 11:37:54

标签: javascript php iframe google-chrome-extension same-origin-policy

我的Chrome扩展程序附带了一个弹出窗口,其中包含一个iframe来加载网站。原则上,我可以设置iFrame的src属性,它可以正常工作。但问题是许多网站不允许在框架内加载,导致Refused to display '...' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'错误。足够公平!

经过一番浏览后,我发现PHP / cURL解决方案使用简单的脚本来使用cURL获取URL的内容并返回内容,然后将内容用作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;
?>

以下是我用来设置iFrame的src属性的代码:

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

同样,这项工作原则上,但对于相当静态/纯HTML网站来说,这只是相当不错的。一旦网站非常动态,我只会得到一些点点滴滴,即缺少内容和/或缺少样式表。简而言之,iFrame显示的内容通常几乎与网站的外观无关。

有没有机会让这个网站正常运行?

0 个答案:

没有答案