При создании глубокой связи вы сделали это
new DynamicLink.AndroidParameters.Builder("com.example.packagename")
По моему опыту, единственный надежный способ заставить подобные вещи работать - это использовать JQuery (не бойтесь, это просто внешний файл сценария, который вам нужно включают). Затем вы можете использовать оператор типа
$('#element').position()
или
$('#element').offset()
, чтобы получить текущие координаты, который отлично работает во всех браузерах, с которыми я встречался до сих пор.
Я использовал это, работает как для IE, так и для Firefox.
var Target = document.getElementById('SomeID'); var Pos = findPos(Target); AnotherObj = document.getElementById('AnotherID'); AnotherObj .style.top = Pos[1] + "px"; AnotherObj .style.left = Pos[0] + "px"; //------------------------------------ function findPos(obj) { //---------------------------------------- var curleft = curtop = 0; if (obj.offsetParent) { do { curleft += obj.offsetLeft; curtop += obj.offsetTop; } while (obj = obj.offsetParent); return [curleft,curtop]; } }
Попробуйте:
var elm = document.getElementById('foo');
var point = {x:0,y:elm.offsetHeight}; // Change to y:0 to get the top-left
while (elm)
{
// This will get you the position relative to the absolute container,
// which is what you need for positioning an element within it
if (elm.style.position == 'absolute')
break;
point.x += elm.offsetLeft;
point.y += elm.offsetTop;
elm = elm.offsetParent;
}
В jQuery:
var jq = $('#yourElement');
var position = jq.offset();
alert('x: ' + position.left + ', y: ' + position.top);
var bottomLeftPixelPosition =
{ left: position.left, top: position.top + jq.height() - 1; };