xaml WebView:如何捕获“OnNavigation”事件@Windows Store App

时间:2013-03-27 07:56:15

标签: c# xaml windows-runtime windows-store-apps winrt-xaml

我正在使用C#/ xaml开发Windows应用商店应用。

如果我的WebView中的链接被点击,我该如何注意?那个afaik没有事件。我已经查看了thisthat,但它没有为我提供合适的解决方案。

我可举一个例子:我通过iFrame在我的WebView中嵌入了facebook页面的流。我想阻止可能在该iFrame中的所有链接。

1 个答案:

答案 0 :(得分:1)

您可以使用自己的一些Javascript调用InvokeScript,以便在用户离开您的页面时设置一个侦听器。这看起来像C#中的以下内容:

var navigationListenerString = @"
(function() {
  function leavingPage() {
    window.external.notify("LEAVING PAGE");
  }
  window.onbeforeunload = leavingPage;
})()";

webView.InvokeScript("eval", new string[] { navigationListenerString });

然后,您可以使用ScriptNotify监听您的特定消息,以确定该页面正在卸载并且用户正在离开。遗憾的是,您无法检测用户的去向。此外,如果超链接在新窗口中打开并且webview未卸载,则无法检测到。