对于我的应用程序,我需要在iframe中嵌入Facebook页面,这里是html代码:
<html>
<head></head>
<body>
<iframe src="http://www.facebook.com" style="width:100%;height:100%">
</body>
</html>
但它不起作用,任何想法为什么以及如何规避?
答案 0 :(得分:5)
我认为facebook是一个反框架脚本。它会检测它是否在iframe中并显示一个徽标,当您点击该徽标时会将您带出iframe。也许他们有一个允许首先进行身份验证的sdk然后它将允许iframe。我不知道。
答案 1 :(得分:2)
我知道这有点旧 - 但是当我寻找类似的答案时,它出现在我的搜索中。您可以从此页面获取包含公共帖子,评论等(有点像YouTube嵌入)的iframe的代码:https://developers.facebook.com/docs/plugins/embedded-posts/使用社交插件。我不认为Facebook会允许你在整个网站上使用iframe。
答案 2 :(得分:0)
您必须检查这些站点的HTTP响应标头X-Frame-Option。如果其值为“ DENY或SAMEORIGIN”,则无法在iframe中加载这些网站。
DENY =没有人可以在iframe中加载网站。即使是相同的域页面也无法加载。 SAMEORIGIN =只有同一域中的页面才能在iframe中加载该网站。
答案 3 :(得分:0)
您可以通过服务器代理请求。基本上从服务器https://example.com?url=facebook.com请求url,然后编写一些逻辑以使服务器请求加载页面所需的所有url。我不建议将它用于任何商业广告,因为它不会使Facebook开心。
答案 4 :(得分:0)
首先, 请记住以“https://”而不是“http://”开头的 href 值。 注意:“href”后不要加大括号。
考虑到它,现在请尝试下面的代码。
<iframe src="https://www.facebook.com/plugins/page.php?href={your_facebook_page}&tabs=timeline&width=340&height=300&small_header=false&adapt_container_width=true&hide_cover=false&show_facepile=true&appId" width="340" height="300" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowfullscreen="true" allow="autoplay; clipboard-write; encrypted-media; picture-in-picture; web-share"></iframe>
答案 5 :(得分:-1)
现在它正在运作。示例代码如下:
faceframe.html
<iframe src="file:///C:/Users/Zishan Ahamed/Desktop/ff1.html" width="100%" height="350px" border="0" scrolling="auto" /></iframe>
ff1.html
<meta http-equiv="refresh" content="0; url=https://facebook.com/" />
打开faceframe.html ...
现在这样做了。试试它的工作......