【问题标题】:How can you detect input type="time" on firefox os如何在 firefox os 上检测 input type="time"
【发布时间】:2013-11-19 22:45:43
【问题描述】:

您可以查看 Modernizr #1030 以获得更多背景信息,但基本上 Firefox OS 在 <input type="time"> 元素上返回 type: text。

貌似是this bug的结果,但是到发文时还没有找到bug的原因。

有什么方法可以正确检测输入 type="time"?

【问题讨论】:

  • 您使用的是哪个版本的 Firefox OS?在 Gecko 29 中获取时间输入的类型对我有用。
  • 这个问题是在使用 FFOS 1.1 时提出的
  • IIRC 修复了 Gecko 26 / FXOS 1.2。
  • 很高兴听到,我会测试并确认。话虽如此,我仍然想知道是否有办法在 >1.2 中检测到这一点
  • 我可以确认它在 1.2 中已修复,但如果能找到一种方法来检测它会很棒

标签: firefox-os


【解决方案1】:

已在另一个StackOverflow post 上给出提示:

function isDateSupported() {
  var i = document.createElement("input");
  i.setAttribute("type", "date");
  return i.type !== "text";
}

【讨论】:

  • 赞赏,但如上所述,Firefox os 将类型返回为文本,因此此答案不准确。
【解决方案2】:

你可以试试:

yourDOMNode.getAttribute('type') === 'time'

在 Firefox OS 1.1 (lg fireweb) 的浏览器上为我工作。

这是一个非常丑陋的示例,我快速组装起来进行测试(在我的 iPad 键盘上输入,抱歉):http://jsfiddle.net/Bh2pw/7/

第一个按钮返回文本,第二个返回时间。

【讨论】:

  • 编辑:实际上,这不起作用。这只是返回您设置为类型的内容。尝试将输入类型设置为“faketype”,getAttribute 将返回类型为“faketype”。
  • 我明白了,所以您正在尝试检测浏览器中对输入类型时间的支持,而不是特定输入是否属于时间类型,对不起,我的错。
  • 是的,这是一个 Firefox OS 特定的问题,抱歉没有说得更清楚!
猜你喜欢
  • 1970-01-01
  • 2018-08-06
  • 1970-01-01
  • 2014-03-17
  • 1970-01-01
  • 1970-01-01
  • 2014-03-17
  • 1970-01-01
  • 2012-12-27
相关资源
最近更新 更多