ASP.NET Webforms не отображает функцию обратной передачи JavaScript для Chrome/iOS

Когда мы поставляем пользовательский агент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 для нашего приложения.NET 4 webforms скрипт, который определяет функцию __doPostBack, отсутствует на странице и, следовательно, ничего, что использует его, не работает.

Если мы предоставим любую другую строку агента пользователя (скажем, Safari), она будет работать нормально. Может кто-нибудь объяснить это?

1 ответ

Решение

Таким образом, проблема заключается в том, что пользовательский агент Chrome не распознается.net, и поэтому предполагается, что он имеет дело с браузером низкого уровня.

Чтобы решить, мы добавили ~/App_Browsers/CriOS.browser со следующим содержанием:

<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>
Другие вопросы по тегам