未显示 Facebook iframe 自托管应用程序
Facebook iframe self hosted app not displayed
我目前正在将 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 应用开发者控制台中的应用配置显示为:
我使用了以下 HTTPS url,它具有所需的有效 SSL 证书:
应用页面内容为空,在检查 Facebook 应用页面 DOM 后,很明显 iframe 内容已从托管页面中删除:
我的预期结果是自托管网页的内容将在 Facebook 应用程序页面中可见。实际结果是内容为空,DOM 包含一个 iframe 标签,其中的 head 和 body 标签都是空的。
感谢@cbroe,我能够将其归结为 X-Frame-Options 错误。我的解决方案是在页面中包含以下 php headers:
<?php
header('X-Frame-Options: ALLOW-FROM https://apps.facebook.com/');
header('Content-Security-Policy: frame-ancestors https://apps.facebook.com/');
?>
我目前正在将 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 应用开发者控制台中的应用配置显示为:
我使用了以下 HTTPS url,它具有所需的有效 SSL 证书:
应用页面内容为空,在检查 Facebook 应用页面 DOM 后,很明显 iframe 内容已从托管页面中删除:
我的预期结果是自托管网页的内容将在 Facebook 应用程序页面中可见。实际结果是内容为空,DOM 包含一个 iframe 标签,其中的 head 和 body 标签都是空的。
感谢@cbroe,我能够将其归结为 X-Frame-Options 错误。我的解决方案是在页面中包含以下 php headers:
<?php
header('X-Frame-Options: ALLOW-FROM https://apps.facebook.com/');
header('Content-Security-Policy: frame-ancestors https://apps.facebook.com/');
?>