1

如果 Google Plus One 无法在 5 秒内加载,我想要一个停止页面加载的功能。在我们国家,有时 HTTPS 端口被电信部门封锁,我们无法访问 apis.google.com。它不仅慢,我们真的无法访问 HTTPS 端口。如果是这种情况,当我们无法访问https://apis.google.com/js/plusone.js时,我想要某种方式来阻止页面加载。我怎样才能做到这一点?

4

2 回答 2

1

只需检查 Plusone 脚本是否在 5 秒内加载,如下所示:

var i=0, checkPlusone = setInterval(function() {
    if (typeof gapi!='undefined') {
        if (gapi.hasOwnProperty('plusone')) {
             clearInterval(checkPlusone);
             console.log('Plusone loaded');
        }
    }
    if (i>5000) {
         clearInterval(checkPlusone);   
         console.log('Plusone not loaded');
         window.location = "http://www.mypage.com/no_plusone.html"; //redirect to error page
    }
    i=i+300;
}, 300);

小提琴

于 2012-04-26T21:13:11.077 回答
0

您可以使用 ajax 加载文件并使用超时。

Ctrl+F 用于jQuery ajax 文档页面上的“超时”,并在这个 SO question中查看它的使用情况。

于 2012-04-26T20:50:32.577 回答