IE上的代码点火器,在facebook应用程序和我令人耳目一新的困境

时间:2011-04-07 09:32:12

标签: facebook codeigniter internet-explorer-8 refresh

我有一个FB应用程序(PHP / codeigniter)..效果很好..喔。 但是,在IE中,它会一遍又一遍地刷新和刷新。 Chrome和Fox很好。

我将在下面包含我的连接类,但基本上,我的FB应用程序指向此,它确实是魔术,然后用户将在其余会话中传递给另一个控制器。

以前有人有这方面的经验吗? 我在Win 7上的IE版本8 64位,但其他人抱怨其他版本和操作系统。 我用Google搜索了但似乎(?)是唯一一个有这个问题的男人......: - (

Anyhoo,这是我的控制器。



/** * @property Model_user $model_user * @property Model_session $model_session */ class Blue_Connect extends Controller {

function Blue_Connect() { parent::Controller(); $this->load->plugin('facebook'); } function index() { $this->load->model('Model_user', 'model_user'); $this->load->model('Model_session', 'model_session'); $my_url = $this->config->item('facebook_url'); if ($this->session->userdata('user_id') > 0) { echo "<script>window.location.href='/buzz/';</script>"; die(); } else { if(!isset($_REQUEST["code"])) { $dialog_url = "http://www.facebook.com/dialog/oauth?client_id=" . $this->config->item('app_id') . "&scope=" . $this->config->item('facebook_perms') . "&redirect_uri=" . urlencode($my_url); echo "<script>top.location.href='" . $dialog_url . "'</script>"; die(); } $token_url = "https://graph.facebook.com/oauth/access_token?client_id=" . $this->config->item('app_id') . "&perms=" . $this->config->item('facebook_perms') . "&redirect_uri=" . urlencode($my_url) . "&client_secret=" . $this->config->item('app_secret') . "&code=" . $_REQUEST["code"]; $access_token = file_get_contents($token_url); $graph_url = "https://graph.facebook.com/me?" . $access_token; $tmp_graph = file_get_contents($graph_url); log_message("error", $tmp_graph); $user = json_decode($tmp_graph); $image = 'http://graph.facebook.com/'.$user->id.'/picture?type=large'; $user_id = $this->model_user->process_user($user->id, $user->name, $user->email, $image); $this->session->set_userdata(array('fb_id' => $user->id, 'user_id' => $user_id, 'access_token' => $access_token)); echo "<script>window.location.href='/blue_connect/';</script>"; die(); } }

}

1 个答案:

答案 0 :(得分:1)

您是否设置了$ config [&#39; uri_protocol&#39;] =&#39; PATH_INFO&#39 ;;在config.php?我之前遇到过这个问题,这个问题已经解决了。 Codeigniter默认情况下不允许GET参数,因此无法设置会话。 如果这没有帮助,那么注释掉window.location.reload();如果您使用的是JS SDK,那就行。