【发布时间】:2021-01-15 01:04:34
【问题描述】:
总结:当我尝试使用带有 script 属性的 amp-script 标签时,它声称看不到该脚本。
这是不工作的代码:
<amp-script layout="container" script="navToggleScript">
<h3 class="nav-toggle icon"><a href="#navigation">Menu</a></h3>
</amp-script>
<script type="text/plain" target="amp-script" id="navToggleScript">
document.querySelector(".nav-toggle.icon").textContent += 'Hello world!';
</script>
我尝试过 1) 将 name="navToggleScript" 添加到脚本标签和 2) 使脚本成为 amp-script 的子代而不是同级。无论我做什么,我仍然在 Chrome、Firefox 开发版和 Safari 中收到以下错误:[ amp-script ] amp-script[script="navToggleScript"].js could not find element with # navToggleScript . error.js:195:8。我究竟做错了什么?在我看来,我正在遵循documentation 中的说明。如果您对此有任何见解,我将不胜感激!
【问题讨论】:
-
脚本源使用绝对 URL 时会发生什么?
-
恐怕使用绝对 URL 没有帮助。
-
你声明了吗:
<script async custom-element="amp-script" src="https://cdn.ampproject.org/v0/amp-script-0.1.js"></script> -
另请参阅此页面上的错误消息部分:amp.dev/documentation/components/amp-script/#state-manipulation
-
是的,自定义元素声明是在 中使用 Jay Gray 引用的确切代码进行的。
标签: amp-html