为什么Facebook在此示例中使用Javascript而不是HTTP标头?

时间:2012-02-16 22:51:01

标签: php javascript facebook facebook-graph-api http-headers

我正在查看使用PHP概述OAuth身份验证的developers site下面的示例代码。

我的问题是:他们为什么回应一个脚本来重定向用户,而不是使用标题(“位置”)?

//see link for full code...

if(empty($code)) {
 $_SESSION['state'] = md5(uniqid(rand(), TRUE)); 
 $dialog_url = "https://www.facebook.com/dialog/oauth?client_id=" 
   . $app_id . "&redirect_uri=" . urlencode($my_url) . "&state="
   . $_SESSION['state'];

 echo("<script> top.location.href='" . $dialog_url . "'</script>");
}

//see link for full code...

感谢。

1 个答案:

答案 0 :(得分:4)

top.location表示会突破iframe,标头位置只会影响包含iframe的直接位置。