Amp html 复杂页面的放大器

Amp html 复杂页面的放大器,amp-html,Amp Html,我有一个复杂的用户界面,如评论系统和投票系统现有的文章网站。如果我创建Google AMP页面,我是否也需要包括所有复杂的UI(投票、评论系统)?如果我没有在Google AMP中包含这些内容,那么访问者不仅可以查看文章,而且不能与我的网站的功能进行交互吗?要在现有页面的基础上重新创建另一个amp版本的页面,这不是太麻烦了吗?这取决于您的网站有多复杂,但您可能想做的是以GitHub为例,在桌面站点上添加一些高级功能。我认为AMP页面应该精简到文章内容,至少在AMP项目为表单提供自定义元素之前是这

我有一个复杂的用户界面,如评论系统和投票系统现有的文章网站。如果我创建Google AMP页面,我是否也需要包括所有复杂的UI(投票、评论系统)?如果我没有在Google AMP中包含这些内容,那么访问者不仅可以查看文章,而且不能与我的网站的功能进行交互吗?要在现有页面的基础上重新创建另一个amp版本的页面,这不是太麻烦了吗?

这取决于您的网站有多复杂,但您可能想做的是以GitHub为例,在桌面站点上添加一些高级功能。我认为AMP页面应该精简到文章内容,至少在AMP项目为表单提供自定义元素之前是这样。在页面的顶部或底部应有一个清晰的“使用桌面网站”链接/按钮,以便那些希望与网站充分互动的人可以这样做

这使得核心内容能够以优化的形式和最佳的速度提供给移动用户,并且移动用户经常在传输过程中,因此他们可能不介意等到他们在桌面上对某些内容进行评论或投票。然后,那些正在使用移动设备但仍希望对其移动设备发表评论或投票的用户仍然可以通过切换到桌面站点来进行评论或投票


我之所以这么说,是因为我认为GitHub与代码编辑、问题/公关讨论等有很多潜在的交互,考虑到不是很多人会在移动设备上使用这些东西,在移动设备上加载这些东西可能会有点过头。他们将阅读文章和代码,但不一定在那一刻互动

我之所以这样说,也是因为我一直在开发一个留言板/论坛,只使用AMP-HTML(后端使用Perl),以测试使用
AMP-iframe
的表单使用iframe的实际可行性

好消息是,这是可以做到的,它确实有效。我已经能够使用iFrame发布新的线程和回复等。坏消息是实施

我提出的计划是通过iFrame加载
表单
输入
元素,通过iFrame的
src
URL中的查询字符串传递基本参数,如post number和author ID,这些参数将使用模板语言以编程方式创建。这已经很难看了

然后,我在iFrame中使用JavaScript从查询字符串中获取参数,并将它们添加到
input
元素(type=“hidden”,以及
name
属性和表单发布到的
action
URL)

然后我在
表单上设置
target=“\u top”
,以便在提交时重新加载整个页面。为了使所有这些功能正常工作,AMP-IFRAME元素上需要以下属性:
allow scripts
allow forms
allow top navigation

我想到了使用AJAX,但由于某种CORS问题,我实在懒得去解决,这条路变得更加混乱。我还想到,我可能把事情搞错了,可能有一种非常简单的方法

这种技术允许我在通过AMP验证的同时创建可用的表单。问题是:这真的值得吗?很明显,你可以使用任何你想要的服务器端技术,但它可能与你当前桌面网站的实现有很大的不同,并且可能需要相当长的时间来开发、测试和强化安全性


我个人认为这不值得额外的时间。我相信AMP项目最终将包括一个
AMP表单
自定义元素,当他们开发出足够的方法来限制其使用时。

这取决于您的网站有多复杂,但您可能想做的是以GitHub为例,在桌面网站上添加一些高级功能。我认为AMP页面应该精简到文章内容,至少在AMP项目为表单提供自定义元素之前是这样。在页面的顶部或底部应有一个清晰的“使用桌面网站”链接/按钮,以便那些希望与网站充分互动的人可以这样做

这使得核心内容能够以优化的形式和最佳的速度提供给移动用户,并且移动用户经常在传输过程中,因此他们可能不介意等到他们在桌面上对某些内容进行评论或投票。然后,那些正在使用移动设备但仍希望对其移动设备发表评论或投票的用户仍然可以通过切换到桌面站点来进行评论或投票


我之所以这么说,是因为我认为GitHub与代码编辑、问题/公关讨论等有很多潜在的交互,考虑到不是很多人会在移动设备上使用这些东西,在移动设备上加载这些东西可能会有点过头。他们将阅读文章和代码,但不一定在那一刻互动

我之所以这样说,也是因为我一直在开发一个留言板/论坛,只使用AMP-HTML(后端使用Perl),以测试使用
AMP-iframe
的表单使用iframe的实际可行性

好消息是,这是可以做到的,它确实有效。我已经能够使用iFrame发布新的线程和回复等。坏消息是实施

我提出的计划是通过iFrame加载
表单
输入
元素,通过iFrame的
src
URL中的查询字符串传递基本参数,如post number和author ID,这些参数将使用模板语言以编程方式创建。这已经很难看了

然后,我在iFrame中使用JavaScript从查询字符串中获取参数,并将它们添加到
input
元素(type=“hidden”),以及
name
属性和
action