我已将AMP添加到我的项目中,并尝试在表单操作中找出http
协议的验证问题。在官方示例中,我可以看到可以使用相对URL:https://github.com/ampproject/amphtml/blob/master/examples/forms.amp.html
1)当我尝试使用相对URL时,它变为无效
相对网址' / amp / someurl'对于属性' action'在标签'形式'是不允许的。
2)当我尝试使用绝对URL时,它会抱怨协议
无效的网址协议' http:'对于属性' action'标签'形式'
当我使用https
而不是http
时,最后一个错误消失了。但问题是该网站没有https
,并且该表单仅用于搜索。
也许我必须使用一些<amp-iframe>
来解决它?
答案 0 :(得分:6)
如<amp-form>
specifications所述,您无法使用action
属性的相对路径,且必须为https
。 <amp-iframe>
也是如此,https
属性需要src
。
强制https
协议的原因是因为AMP页面缓存在Google AMP服务器上,当从AMP服务器提供时,它们将通过https
传递。现在,如果您的页面中有http
个请求,那么出于安全原因,它们将被阻止。