Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“我为什么要看?”;访问Facebook.com“;在我的画布页面上?_Facebook_Redirect - Fatal编程技术网

“我为什么要看?”;访问Facebook.com“;在我的画布页面上?

“我为什么要看?”;访问Facebook.com“;在我的画布页面上?,facebook,redirect,Facebook,Redirect,当屏幕加载时,我一直在我的画布应用程序中看到facebook徽标上有一个链接,上面写着“转到facebook.com”。最终应用程序加载正常,但这是什么?我如何避免它 之所以存在,是因为当您跳转到Facebook进行身份验证时,您正在执行“帧级”重定向(即,您在PHP中使用类似于标题('Location:xyz')的内容,或者在javascript中使用类似于Location.href=xyz)。您需要执行页面级重定向,这就是文档示例代码使用top.location=xyzjavascript调

当屏幕加载时,我一直在我的画布应用程序中看到facebook徽标上有一个链接,上面写着“转到facebook.com”。最终应用程序加载正常,但这是什么?我如何避免它


之所以存在,是因为当您跳转到Facebook进行身份验证时,您正在执行“帧级”重定向(即,您在PHP中使用类似于
标题('Location:xyz')
的内容,或者在javascript中使用类似于
Location.href=xyz
)。您需要执行页面级重定向,这就是文档示例代码使用
top.location=xyz
javascript调用的原因。因为您没有跳出iframe,Facebook会为您设置中间链接屏幕。

这是因为当您跳转到Facebook进行身份验证时,您正在执行“帧级”重定向(即,您正在使用类似
标题('Location:xyz'))PHP中的
或javascript中的location.href=xyz)。您需要执行页面级重定向,这就是文档示例代码使用
top.location=xyz
javascript调用的原因。因为您没有脱离iframe,Facebook正在为您设置中间链接屏幕。

self.location.href
在iframe内部,而不是
header()
self.location.href
在iframe内部,而不是
header()
我理解在编写过程中使用top.location的原因,但是为什么我们不能进行php头重定向呢?每个链接都应该重新加载整个浏览器窗口吗?感谢您的帮助。您不能使用标题重定向,因为它们只能影响包含页面的框架,而您需要影响父框架。不,您不需要(或希望)在每个链接上重新加载整个窗口,只有在进行身份验证时才需要。我会在适当的情况下使用这三种方法。你是说facebook正在用top.location重定向跟踪我所有的php头重定向吗?否则我应该如何将框架页面指向我自己来避免这种情况?我想我们可能有点不同步。您只需要在跳转到Facebook验证url时执行顶级重定向。在这种特定情况下,必须避免标头重定向,并使用javascript top.location重定向。对于您自己网站中的链接/重定向(指向您自己希望在iframe中显示的页面之一),您可以使用普通链接、标题重定向、javascript location.href等。“转到Facebook”只有当您a)跳转到facebook.com上的url,b)没有使用javascript top.location来执行此操作时,才会看到您正在看到的页面。好的,我们不同步,现在我们不同步=)当我执行php标题重定向到我自己时,我看到“转到facebook”。我只是设置了一个测试脚本来确认。我理解在身份验证期间执行top.location的原因,但是为什么我们不能执行php头重定向呢?每个链接都应该重新加载整个浏览器窗口吗?感谢您的帮助。您不能使用标题重定向,因为它们只能影响包含页面的框架,而您需要影响父框架。不,您不需要(或希望)在每个链接上重新加载整个窗口,只有在进行身份验证时才需要。我会在适当的情况下使用这三种方法。你是说facebook正在用top.location重定向跟踪我所有的php头重定向吗?否则我应该如何将框架页面指向我自己来避免这种情况?我想我们可能有点不同步。您只需要在跳转到Facebook验证url时执行顶级重定向。在这种特定情况下,必须避免标头重定向,并使用javascript top.location重定向。对于您自己网站中的链接/重定向(指向您自己希望在iframe中显示的页面之一),您可以使用普通链接、标题重定向、javascript location.href等。“转到Facebook”只有当您a)跳转到facebook.com上的url,b)没有使用javascript top.location来执行此操作时,才会看到您正在看到的页面。好的,我们不同步,现在我们不同步=)当我执行php标题重定向到我自己时,我看到“转到facebook”。我只是设置了一个测试脚本来确认。