我目前正在将HTML5应用程序集成到Facebook并测试iFrame机制。我是自托管游戏内容但是当我将Facebook应用系统指向内容时,页面没有显示。
我的托管页面现在是一个简单的Hello World应用程序,如下图所示,可在以下位置找到:https://bluebeck.space/alienz/fb/
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta charset="utf-8">
<title>Alienz</title>
</head>
<body>
<div><p>Hello, World!</p></div>
</body>
</html>
Facebook应用开发者控制台中的应用配置显示为:
我使用了以下具有有效SSL证书的HTTPS网址:
应用程序页面内容为空,在检查Facebook应用程序页面DOM时,很明显iframe内容已从托管页面中删除:
我的预期结果是,自托管网页的内容将在Facebook应用页面中显示。实际结果是内容为空,DOM包含一个带有空标题和正文标记的iframe标记。
答案 0 :(得分:0)
感谢@cbroe我能够将其归结为X-Frame-Options错误。我的解决方案是在页面中包含以下php标头:
<?php
header('X-Frame-Options: ALLOW-FROM https://apps.facebook.com/');
header('Content-Security-Policy: frame-ancestors https://apps.facebook.com/');
?>
&#13;