如何将 facebook 页面插件调整到 100%?

How to adjust facebook page plugin to 100%?

我正在使用 this facebook page plugin 将其集成到我的网站。但是,最大宽度似乎只有500px。网上有很多关于其他插件的建议,但没有关于这个的。

有谁知道如何使此页面插件扩展到我网页的 100% 的解决方法?

事实上,你做不到!
由于插件页面源代码驻留在 iframe 中,其中 CSS 样式在本地应用。
此外,插件页面 iframe 不在您的 domain/server 范围内,因此您无法修改任何资源,因为 SOP.
参见:

在某些方面 facebook 说:

The plugin will by default adapt to the width of its parent container on page load (min. 180px / max. 500px), useful for changing layout.

所以没有任何解决方法,甚至是丑陋的东西?

是的,有。
可以获取响应页面内容(从 iframe url)并将带有内联 CSS 的标签从 500px 替换为 100%,如下所示:

<?php 

$url = 'IFRAME URL GOES HERE'; #copy and paste url from iframe plugin
$http_headers = array(
    'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0',
    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Accept-Language: pt-BR,en-US;q=0.7,en;q=0.3',   
);

$opener = curl_init($url);
curl_setopt_array($opener, array(
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_SSL_VERIFYHOST => false,
    CURLOPT_HTTPHEADER => $http_headers,        
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_AUTOREFERER => true,
    CURLOPT_RETURNTRANSFER => true,        
));
$content = curl_exec($opener);
curl_close($opener);
# Maybe you want to use DomDocument + DOMXPath
echo str_replace('width: 500px', 'width: 100%', $content);

但是,这不是一个合适的解决方案。如果某些用户点击按钮 "like",例如 facebook 弹出窗口无法正常打开,那么这可能是一个问题。