amp-html - 如何重定向页面放大器?
问题描述
我需要将以下 javascript 代码改编为 amp 页面。
<select id="url">
<option value='home'>home</option>
<option value='contact'>contact</option>
</select>
<input type="button" value='ir' onclick='ir()'>
<script>
function ir(){
var url=document.getElementById("url").value;
location.href=url;
}
</script>
这是可能的?
在文档中我没有找到答案。
解决方案
您正在使用按钮和 onclick 功能,在 AMP 中,您可以使用锚标记<a href="Value">Value</a>
并使用“amp-bind”更改网址
你可以amp-bind
用来实现你的目标
在标题中添加 JS
<script async custom-element="amp-bind" src="https://cdn.ampproject.org/v0/amp-bind-0.1.js"></script>
在正文中添加代码
<div class="wrapper">
<select on="change:AMP.setState({ url: event.value })">
<option value='home'>home</option>
<option value='contact'>contact</option>
</select>
<a [href]="url" href="home">ir</a>
</div>
更新- 如果有人想重定向选项更改而不是使用navigateTo
操作
例子 :
<select on="change:AMP.navigateTo(url=event.value)">
<option value="http://google.com">google.com</option>
<option value="http://yahoo.com">yahoo.com</option>
<option value="http://bing.com">bing.com</option>
</select>
推荐阅读
- java - Spring Boot Starters 中如何指定 maven 版本?
- c# - 触摸屏显示器windows窗体应用程序c#
- java - 如何在java应用程序中连续获取批处理cmd输出
- c# - 取消在 Prism EventAggregator 上排队的其他正在运行的任务
- javascript - 我收到一个错误,“发送后无法设置标头”,并且无论在 node.js 上如何,电子邮件上的错误消息都会不断出现
- ubuntu - 在 Ubuntu 18.04 上安装 Lisk
- java - Swing 中的 JavaFX 集成
- angular - Angular - 在@ViewChild 更改时“监听”
- axapta - 在 Dynamics AX 中检查供应商在过去 X 天内是否有跨所有公司的任何交易
- jquery - DOM 表搜索性能 JQuery