C# WebView内容更改事件

C# WebView内容更改事件,c#,windows,webview,uwp,C#,Windows,Webview,Uwp,我想在我的应用程序中使用一个网站来显示其中的内容 我必须运行一个JavaScript代码,比如getNames(),它将在div中填充名称。执行代码后,需要1-2秒来填写 我想在div填充后更新应用程序。问题是,我找不到像webView1.ContentChanged或webView1.SourceChanged这样的事件。唯一的方法似乎是创建一个计时器,将其设置为3秒,并在执行getNames()时启动它,然后获取源代码 有人知道吗 谢谢WebView没有内置事件来支持检测更改的内容。您可以使

我想在我的应用程序中使用一个网站来显示其中的内容

我必须运行一个JavaScript代码,比如getNames(),它将在div中填充名称。执行代码后,需要1-2秒来填写

我想在div填充后更新应用程序。问题是,我找不到像webView1.ContentChanged或webView1.SourceChanged这样的事件。唯一的方法似乎是创建一个计时器,将其设置为3秒,并在执行getNames()时启动它,然后获取源代码

有人知道吗


谢谢

WebView没有内置事件来支持检测更改的内容。您可以使用JavaScript eval函数来使用HTML事件处理程序,并使用HTML事件处理程序中的window.external.notify来通知应用程序

关于如何检测javascript更改的html内容,您可以参考

我为您制作了一个简单的代码示例:

<WebView Source="ms-appx-web:///HTMLPage1.html" ScriptNotify="WebView_ScriptNotify"></WebView>


函数检测内容()
{
var target=document.getElementById('div');
var观察者=新的突变观察者(功能(突变){
突变。forEach(功能(突变){
window.external.notify('div changed');
更新(“部门变更”);
});
});
var config={attributes:true,childList:true,characterData:true};
observer.observe(目标,配置);
}
功能更新(e)
{
var div=document.getElementById(“div”);
div.innerHTML=e;
}