【问题标题】:Check if Google Maps still available检查谷歌地图是否仍然可用
【发布时间】:2013-12-31 01:16:08
【问题描述】:

我很清楚如何check if the Google API has fully loaded

我需要检查 google API 在运行时是否仍然可用。场景:

  • 应用程序通过 Internet 连接启动
  • Google API 已加载
  • 应用程序失去互联网连接(API 仍在加载)
  • 应用程序尝试创建 Google 地图

此时我的应用程序将崩溃。如何检查 Google 服务是否仍可访问?

【问题讨论】:

    标签: javascript google-maps


    【解决方案1】:

    编辑

    将事件侦听器添加到窗口对象上的onlineoffline 事件。不要将window.ononlinewindow.onoffline 直接设置为函数

    原答案

    window.onofflinewindow.ononline 事件在这里会派上用场。

    https://developer.mozilla.org/en/docs/Online_and_offline_events

    【讨论】:

    • 谢谢。我已经在使用这些(或至少是科尔多瓦变种),但它们并不总是触发。就像拔下 UTP 电缆或平板电脑与扩展坞断开连接一样。因此,在我尝试初始化谷歌地图之前,我真的需要检查一下
    【解决方案2】:

    使用navigator.onLine

    注意 - 请不要使用window.ononlinewindow.onoffline,如上述答案中所述 - 该页面明确表示出于兼容性原因不要使用这些属性。

    来源:http://www.w3.org/TR/offline-webapps/#related

    【讨论】:

    • 对不起,如果我的回答令人困惑,但是该页面并没有说不要使用它,它只是说确保您将它们用作事件(并且不要将它们的值直接设置为函数)。我链接到的页面包含跨浏览器兼容的代码,完全符合 OP 的要求。
    • 它在这里说:“(注意:出于兼容性原因,使用 window.ononline 或 window.onoffline 将不起作用。)”。您应该使用window.ononlinewindow.onoffline - 充其量应该使用document.ononline/onofflinedocument.body.ononline/onoffline
    • 您显然误解了-它在工作代码示例中显示您通过使用事件来使用它,而不是通过为这些属性分配函数来使用DOM0-style。这是它们在页面上显示的代码(以及您应该使用的状态):window.addEventListener('online', updateOnlineStatus); window.addEventListener('offline', updateOnlineStatus);
    • 我明白你在说什么 - 我想我误解了你原始帖子的早期版本。我的观点是你不应该直接设置window.ononline/onoffline。为onlineoffline 事件向window 对象添加事件侦听器绝对是可以接受的。
    猜你喜欢
    • 1970-01-01
    • 2019-03-12
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    • 2010-10-24
    • 1970-01-01
    相关资源
    最近更新 更多