如何在amp-script中使用jQuery?

时间:2019-09-06 21:13:02

标签: jquery amp-html

AMP文档提到了将jQuery与amp-script组件结合使用:https://amp.dev/documentation/guides-and-tutorials/develop/custom-javascript/

但是,我没有看到任何示例,也没有任何说明。

我尝试在下面的示例AMP页面(分别为3.4.1和2.2.4)中包括jQuery,并运行以下简单的jQuery脚本:

$('button').click(function() {
    $('body').append('hello world');
})

示例AMP页面:

https://apps.yourstorewizards.com/sandbox/amp/amp-script/jquery3.html https://apps.yourstorewizards.com/sandbox/amp/amp-script/jquery2.html

两者均无法正常工作。两者都产生javascript错误。在AMP中可以使用哪些jQuery函数是否有限制?

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

如果您查看以下示例: https://github.com/ampproject/amphtml/blob/master/examples/amp-script/todomvc.amp.html

使用Vue.js,您将在示例中看到以下脚本被引用为vue-todomvc.js

<amp-script layout="container" src="/examples/amp-script/vue-todomvc.js" sandbox="allow-forms">
...
</amp-script>

在检查该文件时,您会注意到压缩的vue.js库与示例的自定义javascript一起包含在顶部。

因此在jquery情况下,同样适用。您将把jquery库与使用jquery的自定义javascript一起包含在自定义文件中。

理想情况下,应该有一种方法可以在amp-script标记本身中引用jquery库,并在一个单独的文件中内联或引用您的自定义JS,以获得更好的用户体验。我正在提出这样的改变。谢谢

我希望它如何工作的示例。

<amp-script layout="container" src="https://code.jquery.com/jquery-1.11.3.js" sandbox="allow-forms">
... // custom js
</amp-script>

<amp-script layout="container" 3p-lib-src="https://code.jquery.com/jquery-1.11.3.js" sandbox="allow-forms" src="my-custom-js.js>
... 
</amp-script>

这里有一个引用第三方库的属性,在这种情况下为3p-lib-src,您的自定义js可以驻留在src中。