如何保护网站免受API中断?

abe*_*ger 3 javascript api

通过网络观察当今谷歌中断的影响让我思考如何在未来阻止这种情况.这可能是一个愚蠢的问题,但是有一个很好的方法来包含外部API(例如,谷歌的AJAX库),这样如果API不可用,包含页面仍然可以在没有它的情况下继续战斗吗?一般来说,使用托管在外部服务器上的库通常是个坏主意吗?

Mat*_*hen 7

使用脚本标记加载跨域JavasScript文件是不可避免的(如果它发生故障,这将导致超时).但是,在您的代码中,检查API对象是否为null以避免错误:

例如,而不是:

<script type="text/javascript">
  google.load("maps", "2");
  // Use Maps API
</script>
Run Code Online (Sandbox Code Playgroud)

使用:

<script type="text/javascript">
  if(google != null)
  {
    google.load("maps", "2");
    // Use Maps API
  }
  else
  {
    // Fallback
  }
</script>
Run Code Online (Sandbox Code Playgroud)

我不认为罕见的中断值得拒绝外部API批发.