检测浏览器是否允许用户空白日期字段

时间:2019-08-22 16:16:06

标签: javascript html mobile-safari feature-detection browser-detection

我想将浏览器从使用jQuery datepicker更改为使用浏览器的本机<input type="date"> datepicker。我不必担心使用IE。一切进展顺利-Firefox,Edge,Chrome和Safari都了解日期输入, ...

iOS上的Safari浏览器不允许用户空白该字段。我可以将日期更改为其他日期,但不能将其设置为“ nothing”。所有其他浏览器都允许这样做; iOS上的“清除”按钮将其重置为页面加载时的字段,但实际上并不会清除(除非页面加载时为空)。

因此,我已将“ datepicker”脚本替换为“ manual clear button”脚本。 叹气。实际上,我已编写了按钮脚本,以便日期字段后紧跟一个“清除”按钮。 但是我只希望在需要时显示手动按钮。

这里有两种可能性:

  1. 浏览器/引擎嗅探。决定性地确定我是否在使用iOS Safari引擎(也是iOS Chrome和其他iOS浏览器)
  2. 以某种方式检测“日期”输入是否允许用户将其设置为空白。

“特征检测”在这里还不够。 Safari支持该功能;它只是错误。 (是的,我认为这是一个重大的设计缺陷。)

任何想法如何做这些事情之一?有没有第三种更好的方法?我已经看到一个有关浏览器嗅探Safari的问题,但是它已经存在了多年,并且有很多例外和更新,因此很难确定真正的答案。这个问题上有人建议我需要“实现检测”,据我了解,它更多地是在单元测试的水平上,而不是在每个页面加载时运行的事物的类型。(?)

jQuery可以在这里使用。

0 个答案:

没有答案
相关问题