2013-02-04 62 views
1

我被要求建立一個網站,比如你可能會記住的2010年彩彈樂隊社交媒體活動(http://blog.thoughtpick.com/2010/02/learn-social-media-by-example-skittles-steals-the-social-media-rainbow.html)。替代在iframe中加載Facebook

我的第一個想法是在iFrame中加載Facebook。當然不起作用(X-Frame-options)。 接下來的想法:注入JavaScript來創建覆蓋:nope,Facebook上不可能,但在YouTube上工作。 我能想到的最後一件事就是重建Facebook的佈局並通過API捕捉內容。不是一個簡單的解決方案。

長話短說:是否有平滑的方式在Facebook上創建疊加層或將網站加載到我的網站背景中?

回答

1

您可以使用cURLPHP作爲替代iframe的頁面。

$header = NULL; 
$cookie = NULL;  
$ch = curl_init(); 
    curl_setopt($ch, CURLOPT_HEADER, $header); 
    curl_setopt($ch, CURLOPT_NOBODY, $header); 
    curl_setopt($ch, CURLOPT_URL, "http://www.facebook.com"); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
    curl_setopt($ch, CURLOPT_COOKIE, $cookie); 
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__). '/cookies.txt'); 
    curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt'); //save cookies here 
    curl_setopt($ch, CURLOPT_REFERER, "http://www.facebook.com"); // you don't need that line; it's just the referer 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);; 
    $output = curl_exec($ch); 
curl_close($ch); 
echo $output; 

此外,使用cURL,您將能夠在頁面的輸出處進行修改。

+0

這實際上與Twitter一起使用,謝謝。儘管如此,Facebook和YouTube拒絕合作。 – broen

+0

不客氣。 Facebook也爲我工作。 – zurfyx

+0

Facebook的輸出結果如何? – zurfyx