Решение для обнаружения функций для window.print () JavaScript

Вопрос

Есть ли способ обнаружить поддержку window.print ()? Я предпочел бы обнаружить саму функцию, а не пытаться пройти через кроличью нору, чтобы определить, нахожусь ли я на мобильном браузере или на настольном компьютере, на iOS или Android, или на каком конкретном мобильном браузере я мог бы быть.

Фон

Следующие ссылки заставляют меня поверить, что:

Apple требует, чтобы все сторонние браузеры использовали UIWebViewUIWebView, используемый в приложениях, отличных от Safari, ничего не делает при запуске window.print ()Safari на iOS делает что-то подходящее при запуске window.print ()

Ссылки:

https://productforums.google.com/forum/#!topic/chrome/7wTj1dteSeIПечать Javascript на мобильных устройствах (IOS)https://stackoverflow.com/a/4362472/749227http://daringfireball.net/linked/2012/06/28/chrome-ioshttps://stackoverflow.com/a/4362472/749227

Постскриптум Я заглянул в документы Modernizr, чтобы узнать, может ли он обнаружить поддержку печати, но ничего не заметил.

P.P.S. Я вижу, что Chrome для iOS поддерживает печать, хотя и через GCP. Здесь просто ищем функции обнаружения, а не решения для печати. (https://support.google.com/chrome/answer/3049815?hl=en&ref_topic=1719889)

редактировать Чтобы уточнить, кажется, что window.print не является частью какого-либо стандарта:https://developer.mozilla.org/en-US/docs/Web/API/Window.print, Если window.print существует в некоторых браузерах, но не делает ничего полезного (например, не связан с какой-либо специфической для браузера реализацией соответствующей функциональности печати), это, в конечном счете, я и хочу обнаружить.

Я предполагаю, что у поставщиков мобильных браузеров будет что-то определенное для window.print, чтобы любые скрипты, которые пытаются вызвать его, не выдавали ошибку; но вызов может быть «Нет операции» или может отправить запрос операционной системе, которую ОС просто игнорирует.

Чем больше я думаю о том, как это работает, тем меньше у меня надежды на простой JavaScript-подход к обнаружению этой функции, что очень плохо.

Ответы на вопрос(2)

Ваш ответ на вопрос