wie Webview mitteilen, dass der URI, den es navigieren wird, es nicht öffnen soll eine App, ich nutze ein Online-Bezahlsystem per Webview und navigiere am Ende der Zahlung zu so etwas wie "ticketscheme: // {" status ":" FAILED "," transaction_id ":" ******** * "," result ":" FAILED "," message ":" Zahlung abgelehnt "}" "also sollte ich diesen URI in ein Objekt konvertieren, um zu erkennen, ob die Zahlung beendet wurde oder es fehlgeschlagen ist, aber wenn webview zu diesem navigiert, wird dies angezeigt eine Nachricht UWP-Webview navigiert zu einem URI und fordert eine Nachricht auf, App im Laden zu finden, um es zu öffnen, aber das ist nicht URI, die App öffnen sollte
Antwort
Haben Sie das WebView.NavigationStarting Ereignis zu überwachen versucht?
Es sollte vor jeder Navigation ausgelöst werden. Sie sollten in der Lage sein, es abzufangen, überprüfen Sie den Ziel-URI mit WebViewNavigationStartingEventArgs.Uri und cancel die Navigation bei Bedarf.
<WebView NavigationStarting="OnNavigationStarting" />
void OnNavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args)
{
var url = args.Uri;
if(url.Scheme == "myprotocol")
{
// navigating to my custom uri, cancelling...
args.Cancel = true;
}
}
das Problem ist, dass es nicht dieses Ereignis aufruft, weil die URI gebrochen ist und nicht geparst werden konnte, aber ich brauche dieses gebrochene URI, aber ich kann es nicht bekommen. –
Ich höre auf WebView.UnsupportedUriSchemeIdentified Ereignis und es ruft, aber irgendwie ist sein Ereignis Argument unter Ausnahme ... wie zu sagen, es ist Argument sollte URI behalten aber becuase uri ist nicht normal, es kann nicht parsen, so kann ich nicht uri –
Haben Sie dieses Problem gelöst? Ich stehe gerade jetzt vor dem gleichen Problem. – simpleProgrammer
Nein, ich habe leider nicht ... Und ich suche immer noch nach einer Lösung. Wenn Sie es finden, bitte senden Sie mir eine E-Mail: [email protected] –
bitte [this] (http://stackoverflow.com/questions/43065107/uwp-webview-navigationstarting-event-handler-is-not-working -when-url-ist-nicht-vali) Link, es funktioniert mit meinem Problem – simpleProgrammer