2012-09-07 20 views
8

Cuando suministramos el agente de usuario Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X; en-us) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/21.0.1180.80 Mobile/9A405 Safari/7534.48.3 a nuestra aplicación de formas web .NET 4, el script que define la función __doPostBack no está presente en la página y por lo tanto nada que lo usa funcionaASP.NET Webforms no procesa la función de JavaScript de postback para Chrome/iOS

Si suministramos cualquier otra cadena de agente de usuario (digamos, Safari) funciona bien. ¿Alguien puede explicar esto?

+1

Esto puede ser la causa del problema. http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx y aquí está la revisión aquí http://support.microsoft.com/kb/2600088 –

+0

Sí, después de horas y horas nos dimos cuenta de que ese era el problema. La revisión parece estar dirigida a IE10 sin embargo. Voy a publicar nuestro archivo .browser a continuación. – lukiffer

Respuesta

16

Así que el problema es que el agente de usuario de Chrome no es reconocido por .net, por lo que supone que se trata de un navegador de bajo nivel.

Para resolver, hemos añadido ~/App_Browsers/CriOS.browser con el siguiente contenido:

<browsers> 
    <browser id="CriOS" parentID="Safari"> 
     <identification> 
      <userAgent match="CriOS" /> 
     </identification> 

     <capabilities> 
      <capability name="browser" value="CriOS" /> 
      <capability name="ecmascriptversion" value="3.0" /> 
      <capability name="javascript" value="true" /> 
      <capability name="javascriptversion" value="1.7" /> 
     </capabilities> 
    </browser> 
</browsers> 
+0

¡Funciona como un encanto! – Tillito

+0

¡Buena solución! Funcionó perfecto. Mis LinkButtons no respondían en Chrome en iOS, pero ahora sí. – RyanG

+0

no estoy seguro por qué pero esto no funcionó para mí :( – Ashish

Cuestiones relacionadas