Как определить, обернуто ли веб-приложение CocoonJS

Как я могу определить, работает ли мое веб-приложение под оболочкой CocoonJS с помощью WebView+? Я пробовал if (typeof Cocoon == 'undefined') ..., но это не работает. Я проверил сайт CocoonJS, но найти эту информацию нелегко.


person James Wilkins    schedule 26.06.2015    source источник


Ответы (1)


Оказывается, в этой среде существует глобальное свойство cocoonjsCheckArgs. Я просто использовал if (typeof cocoonjsCheckArgs =='undefined') ..., чтобы знать, когда не показывать определенные сообщения в этой среде. Я понятия не имею, правильный ли это путь, но на данный момент он работает для меня.

Обновление: Также заметил разницу в строке агента: Mobile Safari показывает «Версия/8.0 Mobile/12F70 Safari/600.1.4» в конце строки агента (navigator.userAgent), а в WebView+ становится просто "Мобильный/12F70". Тем не менее, на данный момент я рекомендую проверить существование cocoonjsCheckArgs как лучший вариант, пока кто-нибудь не предложит лучший подход.

person James Wilkins    schedule 26.06.2015
comment
Интересно - мне это снова понадобится очень скоро, так что я смогу снова изучить это. Если вы в конечном итоге найдете другой способ, не стесняйтесь поделиться ответом здесь, спасибо. - person James Wilkins; 05.10.2016
comment
С cocoon.io работает следующее, но только с Canvas+ похоже: var is_cocoon = ( typeof navigator !== 'undefined' && typeof navigator['isCocoonJS'] !== 'undefined' ); - person Joncom; 06.10.2016