У меня есть этот html в папке с активами.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<script type="text/javascript">
var publicKey = ""
function setPublicKey(key) {
publicKey = key;
var url = '<' + 'script src="https://<my_url>?onload=loadChallenge" async defer>' + '<' + '/script>'
document.write(url);
}
function loadChallenge() {
//do some stuff using the publicKey
new Thing( {public_key: publicKey } )
}
</script>
<div id="CAPTCHA"></div>
</body>
</html>
Мне нужно загрузить его в веб-просмотр, передать и установить publicKey, а затем загрузить скрипт, который использует параметр onLoad
вurl.
Итак, я загружаю свой HTML в веб-просмотр и использую этот WebViewClient:
private val myWebViewClient = object : WebViewClient() {
override fun onPageFinished(view: WebView?, url: String?) {
view?.loadUrl("javascript:setPublicKey($publicKey)")
}
}
document.write(url)
не работает.document.write("anything")
не работает.
Я не женат на этом решении, мне просто нужно решение, которое позволяет мне загружать html, затем устанавливать publicKey и затем загружать этот скрипт.
Любая помощь будет принята с благодарностью.