Простите, если мой вопрос кажется тривиальным, но я новичок в веб-программировании.
У меня есть следующий вариант использования: я показываю веб-страницу в своем мобильном приложении через WKWebView и мне нужно найти точные координаты элемента на веб-странице после ее завершения. погрузка. Я планирую, чтобы плавающая кнопка появлялась, если элемент видим, слушая scrollViewDidScroll и сравнивая это с координатами элемента.
Я сделал это с помощью , внедрив следующий JavaScriptв WebView :
function f() {
var targetElement = document.getElementById("target_element");
return targetElement.offsetTop;
}
if (document.readyState == 'complete') {
f();
}
Я внедряю это и извлекаю координаты y из верхней части документа , когда WebView заканчивает загрузку , но я заметил, что этозначение будет иногда меняться.
Есть ли способ получить статические координаты целевого элемента только один раз, или мне нужно получать самые современные координаты при каждом вызове scrollViewDidScroll
? Кроме того, когда offsetTop
меняется?