Есть ли способ отличить, что мой Javascript работает в приложении на основе трезубцев или Internet Explorer?
У меня есть сторонний script, который работает во многих местах в Интернете. Я хотел бы иметь возможность сказать, когда я запускаю приложение в зависимости от браузера. Пользовательский агент не всегда помогает. Chrome предоставляет объект chrome
, который имеет разные свойства в зависимости от среды. Кто-нибудь знает что-либо подобное для IE?
Это для продукта, подобного аналитике google, который может быть реализован или завершен во многих средах, и я пытаюсь их отличить лучше.
Ответы
Ответ 1
Проверьте window.external. Если window.external равно null, веб-страница загружается в веб-компонент, в противном случае она загружается через браузер.
window.external позволяет вам взаимодействовать с экземплярами [ComVisible (true)], которые по умолчанию включены в браузерах. Пока ваши приложения не украшены [ComVisible (true)], вы можете различать потребление приложения и браузера.
Ответ 2
То, как Google Analytics проверяет браузер и устройство, является заголовком HTTP-пользователя HTTP. Он позволяет проверить браузер, версию браузера, ОС, версию ОС и иногда устройство:
http://jonathanstark.com/blog/windows-phone-8-user-agent-string
http://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx
Вы также можете проанализировать эту строку в Javascript:
Получение агента пользователя с JavaScript