Код: Выделить всё
mainWebView.webViewClient = CustomWebViewClient(...) // This custom class doesn't do anything other than check if the user leaves the YT website.
mainWebView.webChromeClient = WebChromeClient()
mainWebView.settings.javaScriptEnabled = true
mainWebView.settings.domStorageEnabled = true
< /code>
Тогда я загружаю страницу: < /p>
mainWebView.loadUrl("https://www.youtube.com/watch?app=desktop&v=lh7WIW3pcso")
< /code>
Далее я выполняю немного Javascript на щелчке конкретной кнопки и отображаю результат. Я проверил код JavaScript в консоли моего браузера, и он работал нормально. (Это дало результат {"x": 0, "y": 56} Код: Выделить всё
mainWebView.evaluateJavascript(
"(function() { var element = document.getElementById('full-bleed-container'); var rect = element.getBoundingClientRect(); return JSON.stringify({ x: rect.left, y: rect.top }); })();"
) { result ->
if (result == "null") {
Toast.makeText(this, "NULL!", Toast.LENGTH_SHORT).show()
} else {
val coordinates = JSONObject(result)
val x = coordinates.getDouble("x")
val y = coordinates.getDouble("y")
Toast.makeText(this, "Coordinates: X: $x, Y: $y", Toast.LENGTH_SHORT).show()
}
}
Я также проверил, что на следующей код и код, и это было инитно, и я не был проверен, и я не был проверен, и я не был протестировал, и это было инитно, и я не проверил, и я не был проверен, и я не был проверен, и я не был проверен, и я не был проверен, и я не смотрел, и это было/код, и я был Готово): < /p>
Код: Выделить всё
override fun onPageFinished(view: WebView?, url: String?) {
super.onPageFinished(view, url)
Toast.makeText(context, "Loaded '$url'!", Toast.LENGTH_SHORT).show()
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... dinates-on
Мобильная версия