如何解决“不允许使用自定义JavaScript。”

时间:2019-06-26 18:33:50

标签: wordpress amp-html

我的网站是“ bonobology.com”,我遇到各种放大器错误,包括https://www.bonobology.com/how-to-break-the-wall-of-pride/?amp上不允许使用自定义JavaScript

尝试在Google上搜索,但没有实质意义

https://validator.ampproject.org/#url=https%3A%2F%2Fwww.bonobology.com%2Fensure-husband-happy%2F%3Famp

2 个答案:

答案 0 :(得分:1)

如果您正在使用Wordpress并遇到此问题,

Google搜索控制台在我的一些Wordpress博客页面上引发了错误。 Google无法为我的Blog索引我的AMP页面。错误是某些自定义JavaScript和CSS已注入AMP页面。经过调查,我发现W3 Total缓存正在将缩小的JS(JavaScript)和CSS(级联样式表)链接注入页面。

搜索控制台中显示错误:

不允许使用自定义JavaScript

除列入白名单的字体提供程序外,不支持外部样式表。

如何解决?

对于W3 Total Cache,您需要激活AMP扩展。这将从AMP页面中删除所有自定义JS和CSS。转到您的站点“管理控制台”-“性能”-“扩展”并激活AMP。该扩展内置W3 Total Cache。您只需要激活它即可。

这里有一个逐步的教程:https://josephkhan.me/custom-javascript-is-not-allowed-amp/

以下是Youtube视频,其中显示了解决此问题的步骤:https://youtu.be/Luy1P1g7BEc

答案 1 :(得分:0)

AMP通常不允许页面包含JavaScript。目标之一是通过消除可降低页面速度的JavaScript来确保页面速度。所有JavaScript都进入AMP提供的Web组件。

但是,有一个新组件data['ASSETS'] = data['ASSETS'].div(100) ,如果确实需要一些代码,则可以用来执行一些操作,例如在JavaScript中创建自己的组件。它通过在主线程上运行JavaScript来保持性能(这是导致性能问题的最大原因)。参见https://amp.dev/documentation/components/amp-script

我注意到这被标记为WordPress,这不是我个人的专业知识领域。有适用于WordPress的AMP插件,但这不会自动将所有第三者扩展名等转换为有效AMP。有时需要特别的努力。如果您可以确定页面的哪一部分具有JavaScript来找出导致问题的组件,这可能会有所帮助。