とにかく、Metro のハイパーリンク値を使用して、webview でハイパーリンクをクリックして c# にアクセスできますか? コンテンツを生成するために WebView..NavigateToString() を使用していますか?
質問する
672 次
2 に答える
5
独自の Javascript を使用して呼び出しInvokeScript
て、ユーザーがページから移動したときのリスナーを設定できます。これは、C# では次のようになります。
var navigationListenerString = @"
(function() {
function leavingPage() {
window.external.notify("LEAVING PAGE");
}
window.onbeforeunload = leavingPage;
})()";
webView.InvokeScript("eval", new string[] { navigationListenerString });
次に、 を使用ScriptNotify
して特定のメッセージをリッスンし、ページがアンロードされ、ユーザーが離れようとしていることを判断できます。残念ながら、ユーザーがどこに向かっているかを検出することはできません。また、ハイパーリンクが新しいウィンドウで開き、Web ビューがアンロードされない場合も、それを検出できません。
于 2012-09-21T19:49:22.410 に答える
1
Windows 8 の WebView は、Silverlight WebBrowser コントロールのような Navigating() イベントをサポートしていないため、ハイパーリンクを取得したり、ナビゲーションをキャンセルしたりすることはできません。
ただし、NavigateToString() メソッドを使用しているため、手動の JavaScript コードを記述し、WebView.ScriptNotify() イベントを使用して同じことを達成できます。
于 2012-07-12T08:20:48.877 に答える