将js脚本执行到Windows 10 webView中

时间:2016-07-06 07:26:58

标签: javascript c# win-universal-app

我想运行一个没有写入加载的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')

1 个答案:

答案 0 :(得分:2)

  

您可以将InvokeScriptAsync与JavaScript eval函数一起使用,将内容注入网页。

请参阅this documentInteracting with WebView content部分。

因此,要禁用该按钮,您可以在cs文件中使用以下代码:

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