1

我使用这个答案https://stackoverflow.com/a/5224638/7346441来检查外部网站是否在线。它工作得很好。

但是当我运行 JSHint 时,我在第 5 行和第 8 行收到 W030 消息:

function ifServerOnline(ifOnline, ifOffline) {
    if ($('span#OfflineCheckClass').length > 0 && $('span#OfflineCheckerURL').length > 0) {

        var img = document.body.appendChild(document.createElement('img'));
        img.onload = function () {
            ifOnline && ifOnline.constructor === Function && ifOnline();
        };
        img.onerror = function () {
            ifOffline && ifOffline.constructor === Function && ifOffline(); 
        };
        img.src = $('#OfflineCheckerURL')[0].innerHTML;
    }
}

和功能:

ifServerOnline(function () {
    // just continue
},
function () {
    var offlineMessageClass = $('#OfflineCheckClass')[0].innerHTML;
    var offlineTekst = document.getElementsByClassName(offlineMessageClass);
    offlineTekst[0].innerHTML = $('span#OfflineCheckerTekst')[0].innerHTML;
});

怎么了?

4

1 回答 1

1

JSHint 不喜欢表达式语句

    ifOnline && ifOnline.constructor === Function && ifOnline();

如果你想让事情变得快乐,你可以把它改成

  if (ifOnline && ifOnline.constructor === Function) {
    ifOnline();
  }
于 2016-12-27T16:23:10.467 回答