gpt4 book ai didi

javascript - 在 WebView 中调用 JavaScript 函数

转载 作者:行者123 更新时间:2023-11-29 14:51:55 26 4
gpt4 key购买 nike

我知道这个问题已经被问过很多次了,我已经检查了所有的解决方案并研究了一切。但是,这根本不适合我。

我不知道我做错了什么。有人可以帮帮我吗?

我正在我的 WebView 中加载本地 html 文件,然后调用 JavaScript 函数:

wv.loadUrl("file:///android_asset/sample.html");
wv.getSettings().setJavaScriptEnabled(true);
JavascriptInterface javasriptInterface = new JavascriptInterface(MyActivity.this);
wv.addJavascriptInterface(javasriptInterface, "MyInterface");
wv.loadUrl("javascript:loadpath()");

HTML 文件是:

<html>
<head>
</head>

<body>
<script type="text/javascript">
function callDoSomething() {
// Do something
}

function loadpath() {
// Is not called no matter whatever operation I do here. Just printing a string, setting variable, android callback anything.
document.write("Hi");
document.getElementById('img').src = "path.png";
}
</script>

<form name="myForm" action="FORM">
<img src="" alt="Autofill" /><br>
<input type="button" value="Submit" onClick="callDoSomething()" />
</form>

</body>
</html>

最佳答案

loadUrl() 是异步的。您调用第二个 loadUrl() way 太早了。您需要等待页面加载完成,也许可以使用 WebViewClient 并观察 onPageFinished()

关于javascript - 在 WebView 中调用 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15281484/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com