$ („Body”). ScrollTop () nie aktualizuje się w safari

Pracuję na stronie internetowej:

http://beta.projektopia.se/

ciało ma kilka obrazów tła, które są aktualizowane na przewijanie w ten sposób:

$(document).ready(function(){

    $(document).scroll(function(){
        var scrollfactor=$("body").scrollTop()*0.2;
        var centerscrollpos =scrollfactor+613;
        var docheight = $(document).height();
        var windowheight = $(window).height();
        var bottompos = (docheight-980)-((docheight-windowheight)*0.2)+scrollfactor;
        var scrollpos = 'center '+scrollfactor+'px,center '+bottompos+'px, center '+ centerscrollpos+'px,center 0px';
        $("body").css("background-position", scrollpos);
    });
});

Wiele obliczeń, ale ważne jest to, że tworzone jest scrollpos, które powinno zmienić położenie tła podczas przewijania, aby utworzyć efekt paralaksy. Działa świetnie w chrome, ale w firefox zmienny scrollfactor, który ma uzyskać bieżącą pozycję przewijania, nie aktualizuje się.

ps, niektórzy ludzie mają ten problem z powodu braku poprawnego doctype. Wierzę, że zadeklarowałem to poprawnie:

<!DOCTYPE html>

questionAnswers(1)

yourAnswerToTheQuestion