来自html

时间:2017-05-16 05:53:10

标签: webview uwp

我可以在c#代码的html中捕获发生的JavaScript事件吗?

考虑以下示例,我有一个带有按钮的html,在我的应用程序中,我通过WebView查看它,并且我在单击该特定按钮时执行了#code代码。

如何在c#代码中点击按钮?

<html>
  <head>
       .......
  </head>

  <body>
       ........
       <button id="idOfButton" name="NameOfButton"></button>
       ........
  </body>
</html>

1 个答案:

答案 0 :(得分:0)

  

如何在c#代码中点击按钮?

我们无法在C#代码中点击按钮。

我们应该可以添加WebView的{​​{3}}事件。当页面调用window.external.notify并传递字符串参数时,托管的HTML页面可以在Windows应用商店应用中触发ScriptNotify事件。

例如:

<WebView x:Name="WebViewControl" ScriptNotify="WebViewControl_ScriptNotify" Source="ms-appx-web:///scriptNotify_example.html"/>

代码背后:

void WebViewControl_ScriptNotify(object sender, NotifyEventArgs e)
{
    // Be sure to verify the source of the message when performing actions with the data.
    // As webview can be navigated, you need to check that the message is coming from a page/code
    // that you trust.
    Debug.WriteLine(e.Value);
}

scriptNotify_example.html代码:

<!DOCTYPE html>
<html>
<body>
    <p>This is a simple test page for window.external.notify().</p>
    <input id="payload" type="text" value="Payload string" />
    <button onclick="window.external.notify(payload.value)">Call window.external.notify</button>
    <p />
</body>
</html>