javascript 为什么window.location.href =不能使用Safari转发到页面?

txu3uszq  于 2023-02-15  发布在  Java
关注(0)|答案(6)|浏览(278)

我的网站允许用户通过Fb按钮登录,我使用FB /Parse.comJDK来登录https://parse.com/docs/js/guide#users-facebook-users
一旦用户被识别,下面的代码登录用户,并将他们转发到一个网址。这在Chrome下可以正常工作,但在Safari下不起作用,页面只是停留在空白的fb.html页面上
我发现有一些历史问题
窗口.位置.href=
但是,找不到适合我的解决方案的修复方法。有人知道解决方法吗?

Parse.FacebookUtils.logIn(null, {
    success: function(user) {
        if (!user.existed()) {

        } else {
            window.location.href="user_home.html";

        }
    },
    error: function(user, error) {

    }
});
fv2wmkja

fv2wmkja1#

在所有浏览器中工作的最佳方式:

setTimeout(function(){document.location.href = "user_home.html";},250);
dced5bon

dced5bon2#

我在safari上也遇到过这种情况,找到了这个帖子,但发现了另一个我想添加的解决方案,有很多浏览器支持。不要替换当前位置,而是使用location对象上名为assign()的方法

document.location.assign(document.location.origin + "/user_home.html")

这个也行

location.assign(location.origin + "/user_home.html")

在桌面和移动iOS设备上的Chrome和Safari中进行了测试
参考:https://www.w3schools.com/jsref/met_loc_assign.asp

vaj7vani

vaj7vani3#

我觉得你应该用...

window.location = 'user_home.html';
ux6nzvsh

ux6nzvsh4#

当我堆叠到这个问题,我做了什么功能工作以及在任何Safari浏览器,也包括移动的浏览器的所有浏览器:

function windowLocation(url){
    var X = setTimeout(function(){
        window.location.replace(url);
        return true;
    },300);

    if( window.location = url ){
        clearTimeout(X);
        return true;
    } else {
        if( window.location.href = url ){
            clearTimeout(X);
            return true;
        }else{
            clearTimeout(X);
            window.location.replace(url);
            return true;
        }
    }
    return false;
};

是一个有点“肮脏”的解决方案,但给予你的能力,以重定向您的网页在任何情况下。

tzdcorbm

tzdcorbm5#

可能是因为你在它之前做了一些事情,换句话说,你的click事件处理程序中的第一步必须是window.location.href = "https://example.com";

r6vfmomb

r6vfmomb6#

我想检测主页,但在iPhone和safari上遇到了同样的问题。

我只是在登录页中添加了一个名为“home”的类,然后只需将此类检查为

if (document.querySelector('.home') !== null) {         
             // the conditions comes here
        }

详情见http://toihid.com/how-to-detect-home-page-in-iphone-and-safari/

相关问题