Tengo una página que debe mostrarse de manera diferente dependiendo de si se visualiza desde un componente WebView2 (dentro de otra aplicación) o desde un navegador Microsoft Edge independiente. Traté de distinguir los dos a través de la cadena de agente de usuario, pero las cadenas son más o menos idénticas (ambas contienen "Edg"). ¿Alguien tiene un método para distinguir entre un WebView2 y un navegador Edge?
No existe una manera perfecta para que el contenido web identifique que se está ejecutando dentro de WebView2 porque la aplicación host de WebView2 puede personalizar muchos aspectos de WebView2.
Por ejemplo, la aplicación host puede cambiar el agente de usuario a través de CoreWebView2Settings.UserAgent para que parezca Chrome o cualquier otro navegador. O la aplicación host puede inyectar secuencias de comandos mediante CoreWebView2.AddScriptToExecuteOnDocumentCreatedAsync y cambiar el DOM u otros objetos en la secuencia de comandos.
Sin embargo, si está tratando de determinar si su contenido web se está ejecutando dentro de su propia aplicación, puede usar esas mismas personalizaciones que mencioné anteriormente como una forma para que la aplicación host indique al contenido web que el contenido web se está ejecutando dentro de un WebView2. .