gpt4 book ai didi

javascript - window.print() JavaScript 的特征检测解决方案

转载 作者:数据小太阳 更新时间:2023-10-29 04:18:18 26 4
gpt4 key购买 nike

问题

有什么方法可以检测对 window.print() 的支持吗?我更愿意检测功能本身,而不是试图深入检测我是在移动浏览器上还是台式机上,或者是在 iOS 上还是在 Android 上,或者我可能在使用哪个特定的移动浏览器。

背景

以下链接让我相信:

  • Apple 要求所有第 3 方浏览器使用 UIWebView
  • 非 Safari 应用程序中使用的 UIWebView 在您运行 window.print() 时不执行任何操作
  • 当您运行 window.print() 时,iOS 上的 Safari 会做一些适当的事情

链接:

附言我查看了 Modernizr 文档,看它是否可以检测到对打印的支持,但没有发现任何东西。

附言我看到 Chrome for 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 存在于某些浏览器中但没有做任何有用的事情(例如,没有连接到适当打印功能的任何特定于浏览器的实现),这就是我最终想要检测的。

我的猜测是,移动浏览器 vendor 将为 window.print 定义一些东西,这样任何尝试调用它的脚本都不会出错;但该调用可能是一个 No op,或者可能会向操作系统发送一个被操作系统忽略的请求。

我越是想这到底是如何工作的,我就越不希望用简单的 JavaScript 方法来检测该功能,这太糟糕了。

最佳答案

这个问题确实是Determine whether browser supports printing的重复.请参阅 carpetsmoker 对此问题的评论和所提及的答案。我同意,这可能是我们目前能做的最好的事情。

即使 window.print 不是任何标准的一部分,如果浏览器 vendor 实现并商定了一些用于检测的 API,那就太好了。也许他们都在内部为该功能制定适当的实现,因此不想在那里扔掉一些以后无用的临时东西。哦,好吧。

关于javascript - window.print() JavaScript 的特征检测解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21566052/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com