我已将 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/