菜鸟教程小白 发表于 2022-12-13 11:33:55

javascript - 可以检测到选择元素的 native UI 覆盖吗?


                                            <p><p>许多浏览器在元素正下方的简单框中显示选择元素的选项,如下所示:</p>

<p> <a href="/image/B8qSX.png" rel="noreferrer noopener nofollow"><img src="/image/B8qSX.png" alt="select regular"/></a> </p>

<p>但是,例如,在 iOS 上的 Safari 上,选项显示在一个大型的原生微调器中,如下所示:
<a href="/image/6sH0Z.png" rel="noreferrer noopener nofollow"><img src="/image/6sH0Z.png" alt="select iOS"/></a> </p>

<p><strong>有没有一种方法可以检测浏览器是否会为选择元素使用原生 UI 而不是“标准”UI?</strong>我想有条件地向使用以下浏览器的用户显示一个选择框这是可用的,我宁愿不必求助于用户代理嗅探。</p>

<p>示例来源:Gonçalo Morais</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我认为没有像您要求的那样专门设计为“功能”。我相当确定您将需要诉诸用户代理检测,因为这正是 iOS 上的 Safari 选择 <em>render</em> 元素的方式 - 对我来说,添加 Safari 团队没有任何意义SELECT 元素的属性——或 DOM 上的任何其他地方——来表明这一点。您询问的那个“功能”本质上是用户代理字符串。</p>

<p>您可能知道这一点,但为了完整起见,我在这里提到它。有很多方法可以实现这一点 - 例如,您可以使用 Modernizr - 向其添加自定义测试以进一步根据您的需要对其进行自定义 - 请参阅 <a href="https://coderwall.com/p/ktrbhq/detect-mobile-safari" rel="noreferrer noopener nofollow">this</a>举个例子。或者使用您自己的 JavaScript。或者使用 JavaScript 为 body 或 html 元素添加一个特定的类,指示它是什么浏览器,这样您就可以级联和自定义您的元素(基本上是 Modernizr 所做的)。</p>

<p>我知道这可能不是您希望的答案,但我很确定它在很大程度上是准确的。我很想听听不同的意见。</p></p>
                                   
                                                <p style="font-size: 20px;">关于javascript - 可以检测到选择元素的 nativeUI 覆盖吗?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/33239186/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/33239186/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: javascript - 可以检测到选择元素的 native UI 覆盖吗?