问题标签 [amp-list]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
email - 用于电子邮件的 amp 中的 amp-list 组件错误
我是 AMP for Email 的新手,我现在正在尝试!我在我的电子邮件正文中使用 amp-list 组件来获取远程服务器 json 内容。但是当我在浏览器控制台中检查时出现以下 js 错误。同样在我的 Gmail 收件箱中,我收到了空白。
mustache - 通过 AMP 列表返回整个图像?
我们正在尝试通过 AMP-List 返回整个图像标签,而不仅仅是源 URL。
例子:
但是,使用此示例和许多变体 - 似乎没有返回任何图像。我们正在做的事情是可能的,还是有一些限制,在事后无法显示图像?
我们试图返回整个图像而不仅仅是源的主要原因是我们的一些 AMP 页面被“标记”(通过 SEMRush 和其他)具有 404。他们似乎看到而不是实际的 src,因为它是通过 JS 返回的 - 这导致 404。
在此先感谢您的任何输入!
javascript - 如何在 amp-mustache 模板变量中使用 toLowerCase 方法
我正在将 amp-list 与 JSON 绑定。问题是我为 amp-img 提供数组元素,而 amp-img 的 src 必须小写,因为我的服务器上的资产是小写的。
amp-html - 在 AMP 故事中添加提交表单
我想在 AMP 故事页面中添加一个带有计数器的收藏按钮,例如 AMP 文档示例。
https://amp.dev/documentation/examples/interactivity-dynamic-content/favorite_button/
但是,即使正确加载了 JSON 信息,当我单击最喜欢的心时
[行动]“FORM.submit”未列入白名单[]
控制台提示错误。
我确定如果 amp hmtl 内部有标签,则表单提交未列入白名单。
我只是将来自 AMP 文档网站的代码粘贴到标签中,并且或多或少地在我可能放置表单的任何地方,都会出现列入白名单的错误。
在不允许将表单放入 AMP 故事中时,如何实现喜欢的计数器之类的按钮?
amp-html - amp-bind 无法在内部更改 AMP Story 中的元素类
我在 AMP 故事页面中创建了一个侧边栏。
在侧边栏中,我有一个带有链接和子菜单的菜单。当使用此代码单击其父项时,我正在尝试向子菜单项添加一个“活动”类
并抓住子菜单项中的切换
问题是当我点击父菜单项时,控制台错误
AMP.setState 未列入白名单
出现并且没有任何变化。
如何将 AMP 故事页面侧边栏中的 AMP.setState 操作列入白名单?
amp-html - 在 amp-list load-more 上使用 load-more-bookmark 接收错误“源源不允许进入”
我在https://staging.caymanmag.com/work/finding-a-job有一个使用服务器端过滤的工作 amp-list 实现,但我无法让无限滚动与load-more="auto"
属性和load-more-bookmark
.
我收到的错误是“源源不允许进入”,但在不使用该load-more
属性时我没有收到 CORS 错误。
我想知道这是否是由于书签值:load-more-bookmark="meta.pagination.links.next"
被使用?看起来该&page=2
属性已添加到查询字符串的末尾。
有什么想法吗?
amp-html - 如何将对象添加到 AMP-HTML 中的 amp-state 数组?
我有一个名为 currentItem 的状态,带有 url、title、description... 当我按下按钮时,currentItem 应该保存在名为 myItems 的其他状态中。它将包含项目对象的列表。
现在的问题是它总是显示最后一个 item,因此它会覆盖每个 currentItem 提交的整个列表。
我的州:
列表定义:
将 currentItem 添加到列表的操作:
我尝试使用 AMP.setState({ myItems: myItems.concat(currentItem)}) 但它崩溃了,+。我怎样才能做到这一点?
amp-html - 如果 AMP 位于 AMP-LIST 和 mustache 模板内,则 AMP 不会以 base64 格式显示图像
我有一个 amp 状态,其中包含动态填充的对象列表。这些对象有一个属性“image”,可以是 url 或 base64 图像。它在隔离的 amp-img 标记中工作正常,两种情况下,但 base64 图像在 amp-list 中不起作用,“src”属性为(unkwown)。我试图在“src”属性之外打印值,它是正确的,如果有一个 url 而不是 base64,它也可以正常工作。
我也尝试用 {{{ }}} 转义输出,但我得到了相同的结果。
amp-state 列表包含具有以下结构的项目:
使用 url 和 base64 的隔离 amp-img:
内部带有 amp-img 的 amp-list 不适用于 base64:
注意:我使用了不同的 amp-state 名称,但内容完全相同。
使用隔离 amp-img 但不在 amp-list 中的 base64 图像示例:
我在控制台中看不到任何错误。
rest - 单击按钮时刷新 amp-list 内容
我有一个为用户生成随机数的页面。在页面加载时,它会生成数据,我可以使用 amp-list 处理这些数据。我想要的是有一个按钮,用户可以在其中生成新数据。把它想象成一个宾果号码生成器。页面加载并向用户显示 6。他们想要一个新号码,如何做到这一点?
我在想我可以通过链接到自身来强制页面重新加载。因此,“新号码”按钮实际上只是指向完全相同页面的 url 链接,这将在页面加载时生成一个新号码。使用带有 ID 的 div 我可以在 URL 中提供#randomnumber,它会直接进入这个位置。
我有点担心这一点,因为谷歌可能会认为这是我试图夸大观看人数以获取更多广告收入而并非如此。有没有更好的方法来解决这个问题?