$ (“Body”). ScrollTop () não atualiza no safari

Eu estou trabalhando em um site:

http://beta.projektopia.se/

o corpo tem várias imagens de fundo que são atualizadas no pergaminho assim:

$(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);
    });
});

Muitos cálculos, mas o importante é que seja criado um scrollpos que deve alterar a posição do plano de fundo quando você rolar, para criar um efeito de paralaxe. Funciona muito bem no chrome, mas no firefox, a variável scrollfactor, que é suposto obter a posição de rolagem atual, não é atualizada.

ps, algumas pessoas têm esse problema devido à falta de doctype correto. Eu acredito que eu tenha declarado corretamente assim:

<!DOCTYPE html>

questionAnswers(1)

yourAnswerToTheQuestion