问题
I want to Display Facebook's Webpage on my site ?
<html>
<body>
<iframe src="http://www.facebook.com/" name="iframe_a"></iframe>
</body>
</html>
This just show's me an image of Facebook but not the actual content. How can i do that ?
I tried and used Php and then echoed the content on the screen that some how worked But In that case , I cant understand How shall i Login Into facebook. When i Login it get's redirected to the Main Site.
回答1:
This is the code facebook embedded in its pages.
if (top != self) { try { if (parent != top) { throw 1; }
This code checks if its embedded in iframe its blocks loading other data rather loads the the link to which you can click with an image.
<script type="text/javascript">
/* <![CDATA[ */if (top != self) {
try { if (parent != top) { throw 1; }
var disallowed = ["apps.facebook.com","\/pages\/","apps.beta.facebook.com"];
href = top.location.href.toLowerCase();
for (var i = 0; i < disallowed.length; i++) {
if (href.indexOf(disallowed[i]) >= 0) { throw 1; }
}
} catch (e) {
setTimeout(
function() {var fb_cj_img = new Image();
fb_cj_img.src = "http:\/\/error.facebook.com\/common\/scribe_endpoint.php?c=si_clickjacking&m=on\u002509&t=8183";}, 5000);
window.document.write("\u003cstyle>body * { display:none !important; }\u003c\/style>\u003ca href=\"#\" onclick=\"top.location.href=window.location.href\" style=\"display: block !important; padding: 10px\">\u003ci class=\"img sp_8dfqpl sx_d67a9a\" style=\"display:block !important\">\u003c\/i>Go to Facebook.com\u003c\/a>");
/* XRCm4Hhw */ }}/* ]]> *
</script>
回答2:
Theoretically it should be possible to do it in the following steps:
- Fetch the Facebook.com's html with AJAX.
- Remove the undesired javascript what Zimbabao pointed or add new javascript that overrides undesired function.
- and then do a
document.write
to release the modified HTML for the browser to parse and render.
This is the same principle how Javascript-function-overriding works with GreaseMonkey [1]. In [2, 3], you will find how functions can be overridden with Javascript.
- [1] https://addons.mozilla.org/es-eS/firefox/addon/greasemonkey/
- [2] Overriding a JavaScript function while referencing the original
- [3] http://www.novogeek.com/post/2010/02/27/Overriding-jQueryJavaScript-functions-using-closures.aspx
回答3:
I think that Facebook is blocking its usage within an iframe tag.
回答4:
Use Facebook API to get your wall posts, and then display them where you like. http://developers.facebook.com/
回答5:
it makes really no sense to display facebook in an iframe on your website.
if you want to display facebook content on your page use Facebook Badges
回答6:
Iframe your facebook content like this:
<iframe src="http://www.facebook.com/plugins/likebox.phpid=YOURUNIQUEID&width=158&connections=5&stream=true&header=false&height=555"
scrolling="no"
frameborder="0"
style="border:none; overflow:hidden; width:158px; height:555px;"
allowTransparency="true">
</iframe>
<div class="fb-like"
align="center"
data-href="https://www.facebook.com/YOURFBADDRESS"
data-send="true"
data-width="500"
data-show-faces="false"
data-font="verdana">
</div>
回答7:
This question is old. Now all the posts on FB have a embed with iframe, or direct link
来源:https://stackoverflow.com/questions/5091519/displaying-facebook-in-an-iframe-on-my-website