我在创建表单时为用户提供了一个输入框,让他们可以输入自定义链接到页面中(类似于WordPress)。例如:
about/awards
会被用于http://site.com/pages/about/awards
。但是,在某个时间点,这在Chrome浏览器上停止工作了,因为它们现在对input type="url"
字段执行更严格的验证。这本来是好事,但是:
- 它不允许相对URL,例如about/awards是一个相对URL,但Chrome似乎拒绝除http://domain/page/stuff之外的所有内容。
- 故障并不特别明显。它只关注表单字段(并不是特别引人注目),并拒绝提交表单。我得到的报告是表单“无法工作”,因为他们没有注意到发生了什么事情,而我花了几分钟才意识到发生了什么事情。
我通过将输入类型切换回来解决了这个问题,但这样做破坏了一些添加的有用功能(例如iPhone上的特殊键盘)。
这是HTML5规范的一部分,还是Chrome实现中的问题?