Obter posição real dos objetos em Javascript com o Chrome

Eu tenho codificado um pouco de Javascript para colocar um patinho aleatoriamenteesta página.

Eu queria escondê-lo ao lado de objetos (como as postagens), mas acabei tendo que codificá-lo um pouco, pois não consegui recuperar a posição real de objetos relativos com o Chrome. Eu li algumas coisas sobre isso e usei o método offsetParent recursivo, mas não obtive bons resultados.

O último pedaço de código que tentei foi o seguinte:

 var getPost = function (obj) {
    var pos = {'x':0,'y':0};
    if(obj.offsetParent) {
        while(1) {
          pos.x += obj.offsetLeft;
          pos.y += obj.offsetTop;
          if(!obj.offsetParent) {
            break;
          }
          obj = obj.offsetParent;
        }
    } else if(obj.x) {
        pos.x += obj.x;
        pos.y += obj.y;
    }
    return pos;
  }

Este código não funciona no Chrome, exceto em objetos com uma posição absoluta (definida com CSS).

Existe uma maneira boa, entre navegadores, de conseguir isso?

questionAnswers(3)

yourAnswerToTheQuestion