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

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

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

2)当我尝试使用绝对URL时,它抱怨协议

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

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

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

最佳答案

<amp-form> specifications中所述,您不能为action属性使用相对路径,并且它必须是https<amp-iframe>也是一样,https属性需要src

之所以采用强制性https协议,是因为AMP页被缓存在Google AMP服务器上,并且从AMP服务器提供服务时,它们将通过https进行传递。现在,如果您的页面中有http请求,则出于安全原因将阻止它们。

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

10-13 23:52