检测JavaScript中被阻止的本地URL

时间:2014-06-12 05:37:19

标签: javascript html

我正在链接到网站内的本地网络网址,即

<a href="file://///server/share">Your network share</a>

在应用程序中,我知道potential for browsers to block the request

我想知道是否有任何方法可以检测或预测阻塞,这样我就可以向用户显示替代结果(就像告诉他们路径而不是试图为他们打开它一样)?

1 个答案:

答案 0 :(得分:0)

实际上我认为你可以使用隐藏的iframe:

在你的情况下,我会在该链接上有一个点击事件处理程序,如下所示:

已编辑:现在使用Timeout技术检查框架是否已加载

var _errtimer, link, href;
function clickHandler(e) {
    e.preventDefault();
    link = $(this);
    href = link.attr('href');
    var frame = $("<iframe id='testframe' style='visibility:hidden;' src='" + href + "'></iframe>");
    $("body").append(frame);

    _errtimer = setTimeout(frameError, 2000);

    $("#testFrame").on('load', function () {
        clearTimeout(_errtimer);
        console.log('frame loaded successfuly');
        location.href = href;
    });
}
function frameError() {
    alert('error in frame');
    // no access, provide the path..
    lnk.html("the path: " + href);
}

请告诉我这是否适合您。