我正在链接到网站内的本地网络网址,即
<a href="file://///server/share">Your network share</a>
在应用程序中,我知道potential for browsers to block the request。
我想知道是否有任何方法可以检测或预测阻塞,这样我就可以向用户显示替代结果(就像告诉他们路径而不是试图为他们打开它一样)?
答案 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);
}
请告诉我这是否适合您。