我正在使用 C#/xaml 开发 Windows 应用商店应用程序。
我如何注意到我的 WebView 中的链接是否被点击?该 afaik 没有事件。我已经研究过这个和那个,但它没有为我提供合适的解决方案。
我可以举个例子:我通过 iFrame 将 Facebook 页面的流嵌入到我的 WebView 中。我想阻止该 iFrame 中可能存在的所有链接。
您可以使用您自己的一些 Javascript 调用 InvokeScript 来设置一个侦听器,以便在用户离开您的页面时进行监听。这在 C# 中类似于以下内容:
var navigationListenerString = @"
(function() {
function leavingPage() {
window.external.notify("LEAVING PAGE");
}
window.onbeforeunload = leavingPage;
})()";
webView.InvokeScript("eval", new string[] { navigationListenerString });
然后,您可以使用 ScriptNotify 来监听您的特定消息,以确定页面正在卸载并且用户正在离开。不幸的是,您无法检测到用户的去向。此外,如果超链接在新窗口中打开并且 web 视图未卸载,您也无法检测到。