我想运行一个没有写入加载的html页面的js函数,例如我们有一个带按钮的简单html页面,我想使用外部js脚本禁用该按钮:
<!DOCTYPE html>
<html>
<body>
<button id="my_button" type="button" onclick="">Click Me!</button>
</body>
</html>
我的脚本形成了一个文件:
function disableFun() {
document.getElementById("my_button").disabled = true;
}
在official doc中提到有一个API方法InvokeScriptAsync(string scriptName, string[] arguments)
但是我们必须已经将脚本添加到html加载页面中。
任何建议都是相关的!
P.S。在android中我们非常简单webView.loadUrl('my script code')
答案 0 :(得分:2)
您可以将InvokeScriptAsync与JavaScript eval函数一起使用,将内容注入网页。
请参阅this document的Interacting with WebView content
部分。
因此,要禁用该按钮,您可以在cs文件中使用以下代码:
String scriptStr = @"document.getElementById('your_buttonId').disabled=true";
await myWebView.InvokeScriptAsync("eval", new String[] {scriptStr});