我正在网站内放置一个指向本地网络 URL 的链接,即
<a href="file://///server/share">Your network share</a>
在应用程序中,我知道 potential for browsers to block the request .
我想知道是否有任何方法可以检测或预测阻塞,以便我可以向用户显示替代结果(例如只告诉他们路径而不是尝试为他们打开它)?
最佳答案
实际上我认为你可以使用隐藏的 iframe:
在您的情况下,我会在该链接上有一个点击事件处理程序,如下所示:
已编辑:现在使用超时技术来检查帧是否已加载
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);
}
请告诉我这是否适合您。
关于javascript - 在 JavaScript 中检测被阻止的本地 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24177143/