Anzeige von m.bing.com im WP8 WebBrowser-Steuerelement

Ich habe ein Problem damit, dass bing.com in ein WebBrowser-Steuerelement auf Windows Phone 8 geladen wird. Dadurch wird anscheinend die WP8-Such-App gestartet (genauso wie durch Drücken der Such-Taste auf dem Telefon). Das Problem ist, wenn Sie in dieser Such-App auf ein Ergebnis klicken, gelangen Sie nicht mehr zu Ihrer ursprünglichen App zurück, sondern zum IE, um das Ergebnis anzuzeigen. Dies wird für mich nicht funktionieren und scheint ein schwerwiegender Fehler (IMO) im WebBrowser-Verhalten zu sein.

Es scheint einige Apps zu geben, die es geschafft haben, bing.com anzuzeigen, ohne die Such-App des Telefons zu starten - zum Beispiel Image Downloader Free. Es gab noch einen, aber ich kann mich nicht erinnern, was es war ...

Nach einigen Nachforschungen habe ich festgestellt, dass das WebBrowser_Navigating-Ereignis drei Mal ausgelöst wird, wenn Sie zu bing.com gehen: Die erste Anforderung an die vom Benutzer eingegebene URL (www.bing.com) wird an umgeleitethttp://wp.m.bing.com/?mid=10006, dann wird zu bing: // home /? mid = 10006 weitergeleitet.

Es ist ganz einfach zu verhindern, dass es an die Bing Search-App weitergeleitet wird. Fügen Sie dies einfach zum Navigating-Ereignis hinzu:

e.Cancel = (e.Uri.Scheme == "bing");

Das Problem ist, dass nur der Platzhalter der Bing-Suchseite angezeigt wird, auf dem "Bing Search" steht, und ein Link mit der Aufschrift "Zurück zur Bing-Suche", der nichts bewirkt (normalerweise wird die Bing Search-App neu gestartet).

Ich habe ein paar Gedanken, bin mir aber nicht sicher, wie machbar sie sind.

Kann der User Agent im WP8 WebBrowser-Steuerelement gefälscht werden?Kann eines der Elemente in der WebBrowser.Uri.Flags-Eigenschaft entfernt oder hinzugefügt werden, um die Art und Weise zu beeinflussen, in der Bing.com die Anforderung verarbeitet?Wenn dies nicht funktioniert, kann ich einfach eine Dummy-Seite auf meinem Webserver erstellen, alle bing.com-Anfragen an diese umleiten und die m.bing.com-Startseite mit einem kartencodierten Benutzeragenten abrufen. Ich würde es wirklich gerne vermeiden, diese Option zu nutzen. Aus der Sicht der Endbenutzer würden sie es nie erfahren, aber ich habe gerade eine ganz neue Schicht an Aufwand, Wartung und Ressourcen hinzugefügt.

Wenn Sie interessiert sind, sind die Unterschiede für das EventArgs-Objekt zwischen den 3 Anforderungen, die im WebBrowser.Navigating-Ereignis auftreten, angehängt:

Anfrage 1 (bing.com) -> Anfrage 2 (weitergeleitet an wp.m.bing.com/?mid=10006)

Anfrage 2 (weitergeleitet an wp.m.bing.com/?mid=10006) -> Anfrage 3 (weitergeleitet an bing: // home /? Mid = 10006)

Kennt jemand eine Möglichkeit, um zu verhindern, dass www.bing.com die Such-App im WebBrowser-Steuerelement meiner Anwendung startet?

Danke!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage