2016-07-06 128 views
1

我想运行一个没有写入加载的html页面的js函数,例如我们有一个简单的带有按钮的html页面,并且我想要使用外部js脚本:在Windows 10中执行js脚本webView

<!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加载页面。

任何建议是apreciated!

P.S.在android中我们做起来很简单webView.loadUrl('my script code')

回答

2

您可以使用InvokeScriptAsync和JavaScript eval函数将内容注入到网页中。

参见Interacting with WebView content部分this document

所以要禁用按钮,你可以使用你的CS文件中的以下代码:

String scriptStr = @"document.getElementById('your_buttonId').disabled=true"; 
await myWebView.InvokeScriptAsync("eval", new String[] {scriptStr});