I can’t get window.location.hash = location.hash to work in Safari.
I’m using javascript to wrap the contents of my page with a scrollable DIV, placed below the navigation bar in my webpage. Since the scrollbar’s location gets reset when the javascript runs, I’m losing the original hash location that the URL set. I need to re-cue the hash location without reloading the page using javascript, so I’m using window.location.hash = location.hash. It works in IE8, Firefox, and Opera, but it doesn’t work in Safari. (I’ll assume Chrome, too, but I haven’t check). Any suggestions?
Hint: I like jQuery.
Webkit has two oddities that prevent
window.location.hash = location.hashfrom working normally.window.location.hrefinstead ofwindow.location.hash(like all the other browsers do). Curiously,webkitcan still read the URL’shashtag usinglocation.hashlocationhas to be set to the same location twice before the browser will go to the new location. Bug report here.This code solved my problem: (using jQuery).