如果我的问题似乎微不足道,请原谅我,但我对Web编程不感兴趣。
我的用例如下:我正在通过WKWebView在移动应用中显示网页,并且在网页加载完成后需要在网页上找到元素的确切坐标。我打算通过听scrollViewDidScroll并将其与元素的坐标进行比较来显示一个浮动按钮(如果该元素可见)。
我已经通过injecting the following JavaScript into the WebView做到了:
function f() {
var targetElement = document.getElementById("target_element");
return targetElement.offsetTop;
}
if (document.readyState == 'complete') {
f();
}
我注入了这个并从文档when the WebView finishes loading的顶部检索了y坐标,但是我注意到这个值有时会改变。
是否有一种方法可以只检索一次目标元素的静态坐标,或者每当调用scrollViewDidScroll
时都需要检索最新的坐标?另外,offsetTop
何时更改?