如果无法加载外部脚本,如何停止加载页面?

时间:2012-04-26 20:38:24

标签: jquery

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

2 个答案:

答案 0 :(得分: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);

FIDDLE

答案 1 :(得分:0)

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

jQuery ajax docs 页面上的“超时”按Ctrl + F,并在 this SO question 中查看其使用情况。