如何改变 AMP HTML 中的电流 url?
How to alter current url in AMP HTML?
在我的网站中,产品过滤是通过更改 URLS 在服务器端完成的,
IE。如果要针对包含标签 alpha、beta 和 gama
的产品过滤类别,则在 URL 末尾添加 ?q=alpha+beta+gama
如果有人按下按钮,我想从 url 中删除 "beta"。
Seems easy in non-amp pages by using javascript, but I cant find a way
to do it in amp.
是否有脚本可以找到当前 url 并从中删除一些关键字?
我打算用表格来实现。该表单将有多个输入。按提交按钮时,表单中的输入字段将被抓取并附加到当前 url。
情况一:
The current url is website.com/?view=amp
Desirable url is website.com/?view=amp&q=alpha+beta+gama
情况2
Current url is website.com/?view=amp&q=alpha+beta+gama+delta
Second desirable URL is website.com/?view=amp&q=alpha+gama
我们无法读取当前 url 并在 AMP 中对其进行操作。
在 AMP 中创建动态 url(或链接)的解决方案是什么?
我们应该有一个状态策略来在 AMP 中创建动态 url。我们应该在服务器端呈现默认状态,并在状态改变时创建动态 url。
例如:
默认状态(在服务器端呈现):
<amp-state id="filters">
<script type="application/json">
{
"alpha": "",
"beta": "",
"gama": ""
}
</script>
</amp-state>
动态 url 基于状态:
<a href="website.com/?view=amp" data-amp-bind-href="'website.com/?view=amp&q=' + filters.alpha + (filters.beta ? '+' + filters.beta : '') + (filters.gama ? '+' + filters.gama : '')">dynamic link</a>
根据您的用例,如果用户 adds/changes 默认输入值,您可以简单地使用 amp-bind
继续更新 URL。
例如
<label>Username
<input name="username" on="change:AMP.setState({name: event.value})"/>
</label>
<a href="example.com/default-url" [href]="'example.com/default-url?name=' + name">Submit</a>
因此,您需要提供一个默认值 URL 作为默认值 href
和 [href]
将在输入框上的任何更改 made 时更新默认值 URL(amp-bind 仅在触发具有 AMP 操作的元素时起作用,删除)。您可以阅读有关使 URL 更改 here.
的操作(即任何更改)的更多信息
在我的网站中,产品过滤是通过更改 URLS 在服务器端完成的, IE。如果要针对包含标签 alpha、beta 和 gama
的产品过滤类别,则在 URL 末尾添加?q=alpha+beta+gama
如果有人按下按钮,我想从 url 中删除 "beta"。
Seems easy in non-amp pages by using javascript, but I cant find a way to do it in amp.
是否有脚本可以找到当前 url 并从中删除一些关键字?
我打算用表格来实现。该表单将有多个输入。按提交按钮时,表单中的输入字段将被抓取并附加到当前 url。 情况一:
The current url is website.com/?view=amp
Desirable url is website.com/?view=amp&q=alpha+beta+gama
情况2
Current url is website.com/?view=amp&q=alpha+beta+gama+delta
Second desirable URL is website.com/?view=amp&q=alpha+gama
我们无法读取当前 url 并在 AMP 中对其进行操作。
在 AMP 中创建动态 url(或链接)的解决方案是什么?
我们应该有一个状态策略来在 AMP 中创建动态 url。我们应该在服务器端呈现默认状态,并在状态改变时创建动态 url。 例如:
默认状态(在服务器端呈现):
<amp-state id="filters">
<script type="application/json">
{
"alpha": "",
"beta": "",
"gama": ""
}
</script>
</amp-state>
动态 url 基于状态:
<a href="website.com/?view=amp" data-amp-bind-href="'website.com/?view=amp&q=' + filters.alpha + (filters.beta ? '+' + filters.beta : '') + (filters.gama ? '+' + filters.gama : '')">dynamic link</a>
根据您的用例,如果用户 adds/changes 默认输入值,您可以简单地使用 amp-bind
继续更新 URL。
例如
<label>Username
<input name="username" on="change:AMP.setState({name: event.value})"/>
</label>
<a href="example.com/default-url" [href]="'example.com/default-url?name=' + name">Submit</a>
因此,您需要提供一个默认值 URL 作为默认值 href
和 [href]
将在输入框上的任何更改 made 时更新默认值 URL(amp-bind 仅在触发具有 AMP 操作的元素时起作用,删除)。您可以阅读有关使 URL 更改 here.