Google的AMP(加速移动页面)指南建议加载AMP javascript应为async
:
<script async src="https://cdn.ampproject.org/v0.js"></script>
如果CDN无法提供,是否有办法确保加载javascript文件的本地回退版本?
通常,我会在加载脚本后立即添加一个js测试,以查看它是否加载了一些常量(如jQuery
)。但是,当使用async
时,似乎不是一种简单的方法来确定它是否会加载,因为在加载脚本和确定是否存在的测试之间存在潜在的竞争条件脚本已加载。
答案 0 :(得分:1)
是的,有一种方法可以提供本地回退:
<script src="https://cdn.ampproject.org/v0.js" onerror="document.write('<script src=\'v0.js\' async></script>')" async></script>
在最新的Firefox中测试过。