Why isnt window.location.href= not forwarding to page using Safari?

25,027

Solution 1

Best way work in all browsers:

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

Solution 2

I had this happening to me as well on safari and found this post but found another solution I wanted to add with lots of browser support. Instead of replacing the current location use the method that is on the location object called assign()

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

This also works

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

Tested in Chrome and safari on desktop and mobile iOS devices

reference: https://www.w3schools.com/jsref/met_loc_assign.asp

Solution 3

I think you need to use...

window.location = 'user_home.html';
Share:
25,027
Dano007
Author by

Dano007

Updated on July 17, 2022

Comments

  • Dano007
    Dano007 almost 2 years

    My site lets users login via the Fb button, I'm using the FB / Parse.com JDK for this https://parse.com/docs/js/guide#users-facebook-users

    Once the user has been identified, the below code logs the user in and forwards them onto a url. This works as expected under Chrome, but will not work using Safari, the page just stays on the fb.html page which is blank

    I've seen that there were some historic issues with

    window.location.href=

    But, can't find a fix that works for my solution. Does anyone know a way around this?

    Parse.FacebookUtils.logIn(null, {
        success: function(user) {
            if (!user.existed()) {
    
            } else {
                window.location.href="user_home.html";
    
            }
        },
        error: function(user, error) {
    
        }
    });
    
  • Dano007
    Dano007 almost 9 years
    Also worth checking is to make sure that Safari isnt blocking popups
  • kumarmo2
    kumarmo2 over 5 years
    @Dano007. This worked for me. But what difference does it make setting location.href after a time-out and without timeout ?
  • Stanislav
    Stanislav over 5 years
    this fix stopped to work for me. i suspect that safari was updated and the fix stopped to work.
  • Brandon Nadeau
    Brandon Nadeau over 4 years
    @stanislaw Same here, this fix stopped working recently with me as well. Got a call from a client saying his iphone isn't getting redirects now when using safari. Some people are saying to enable popups but that sort of defeats the purpose, if every one needs to disable that. If any one has come up with a solution I posted a new thread. stackoverflow.com/questions/59778280/…