forms - amp-html http协议(protocol)限制

标签 forms validation amp-html

我已将 AMP 添加到我的项目中,并试图找出 http 的验证问题形式 Action 中的协议(protocol)。在官方示例中,我可以看到可以有相对 URL:https://github.com/ampproject/amphtml/blob/master/examples/forms.amp.html

1) 当我尝试使用相对 URL 时它变得无效

标签“form”中属性“action”的相对 URL“/amp/someurl”是不允许的。

2) 当我尝试使用绝对 URL 时,它会提示协议(protocol)问题

标签“form”中属性“action”的 URL 协议(protocol)“http:”无效。

当我使用 https 时,最后一个错误消失了而不是 http .但问题是网站没有https并且该表格仅用于搜索。

也许我必须使用一些 <amp-iframe>为了解决它?

最佳答案

<amp-form> specifications 中所述,您不能为 action 使用相对路径属性,它必须是 https . <amp-iframe>也是如此, 你需要 https对于 src属性。

必填的原因https协议(protocol)是因为 AMP 页面缓存在 Google AMP 服务器上,当从 AMP 服务器提供服务时,它们将通过 https 传送.现在如果你有 http您页面中的请求,那么出于安全原因,它们将被阻止。

关于forms - amp-html http协议(protocol)限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38915693/

相关文章:

c# - 为什么 csv 文件在导出时不显示特殊字符?

c - C 中的数据验证

ios - IOS 7中的电子邮件地址验证

amp-html - 如何将一个 amp-story-page 链接到另一个页面?

amp-html - 为什么 amp-html 有一个隐藏 body 元素的 CSS 规则

javascript - 保存并再次显示查看用户选择

c# - ASP.NET MVC 中基于表单的设计的规范资源?

javascript - 合并两个 html 表单中的数据元素无法正常工作

flutter - TextFormField 验证器不起作用 - 在 null 上调用了方法 'validate'

google-analytics - 抑制 AMP-IFRAME 中的 Google 网页浏览事件