问题
我在PHP try catch中使用下面提到的JS代码。基本上我正在制作Facebook应用程序。当用户会话超时时,它会显示一条看起来不太好的错误消息,但是当用户刷新页面时,它会开始正常工作。出于这个原因,我使用PHP 尝试捕获来了解会话是否超时,如果是,那么在catch我运行下面的JavaScript代码。我想自动刷新页面,而不是让用户手动完成。
以下代码刷新页面,但随后会不断刷新页面。我是javascript的新手你可以建议一旦它成真,我应该如何摆脱这种情况。
代码
try{
$facebook = new Facebook(array(
'appId' => '123456789',
'secret' => 'some_secret',
));
$accessToken = $facebook->getAccessToken();
$facebook->setAccessToken($accessToken);
$user_profile = $facebook->api('/me','GET');
$username= $user_profile['email'];
$fb_id= $user_profile['id'];
}catch(Exception $e){
location.reload(true);
console.log('Session has been timed out');
}
答案 0 :(得分:0)
<script type="text/javascript">
if(window.location.hash==-1)
{
//add a # if it doesn't exist
newurl = document.URL+"#";
location = "#";
//Refresh page
location.reload(true);
}
</script>
或尝试此操作(如果用户已禁用本地存储/ Cookie,则无效)
function()
{
if( window.localStorage )
{
if( !localStorage.getItem( 'firstLoad' ) )
{
localStorage[ 'firstLoad' ] = true;
location.reload(true);
}
else
localStorage.removeItem( 'firstLoad' );
}
}