AMP 允许在开发和生产模式下使用自定义 JavaScript,而无需 (iframe) 破解。
要在您的 AMP 页面中包含自定义 JavaScript,请使用该<amp-script>
组件。
下面是一个说明如何使用该<amp-script>
组件的片段;
<!doctype html>
<html amp lang="en">
<head>
<meta charset="utf-8">
<script async src="https://cdn.ampproject.org/v0.js"></script>
<!-- Important to add "amp-script" custom element reference -->
<script async custom-element="amp-script" src="https://cdn.ampproject.org/v0/amp-script-0.1.js"></script>
<title>AMP with custom JavaScript</title>
<link rel="canonical" href=".">
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
</head>
<head>
<body>
<amp-script layout="container" src="https://example.com/my-custom-javascript.js">
<p>Here, content that you may want to modify using a custom JavaScript</p>
</amp-script>
</body>
</html>
请注意,对自定义 JavaScript 的引用可以是相对路径或完整路径。
值得注意的是,AMP<amp-script>
对任何给定页面上的所有组件强制执行 150 KB 的自定义 JavaScript 限制。
为所有组件使用 150 KB 的自定义 JavaScript 的原因<amp-script>
是为了控制性能。