2016-12-25 12 views
0

谷歌的AMP(加速移动页)指南建议,AMP的加载JavaScript应该是asyncAMP需要异步js;有没有办法让本地的后备?

<script async src="https://cdn.ampproject.org/v0.js"></script> 

有没有一种方法,以确保JavaScript文件的本地备用版本被加载,如果CDN失败交付?

通常情况下,我会加载脚本后立即添加一个js测试,看它是否加载了一些常量(如jQuery)。但是,使用async时,似乎没有简单的方法来确定它是否会加载,因为在加载脚本和确定脚本是否加载的测试之间存在潜在的争用情况。

+0

我认为如果CDN无法提供,客户端的浏览器比尝试使用回退功能存在更大的问题。 CDN本质上需要99.9%的正常运行时间,否则他们不能成为CDN。 –

+0

离线开发时,不必依赖CDN的存在有时会很有帮助。 –

回答

1

是的,有一种方法可以提供本地备用:

<script src="https://cdn.ampproject.org/v0.js" onerror="document.write('<script src=\'v0.js\' async></script>')" async></script> 

在最新的Firefox测试。

相关问题