协议检查不是从先前协议检查的成功回调中调用的

时间:2018-08-14 16:25:24

标签: javascript html custom-protocol

与浏览器的行为不一致。

Google Chrome浏览器:可以调用第一个,但不能调用另一个。

$(function () {
    $("div[href]").click(function (event) {
        debugger;

        window.protocolCheck("abcd:",
        function () {
            console.log('err1')
        }, function () {
            console.log('succ1');
            window.protocolCheck("xyz:",
                function () {
                    console.log('err2');
                }, function () {
                    console.log('succ2');
                });
        });



    });
});
<!DOCTYPE html>
<html>

<head lang="en">
    <meta charset="UTF-8">
    <title>Custom Protocol Detection</title>
</head>

<body id="abcd">
    <h1>Click one of these labels:</h1>
    <a href="#" id="atemp"></a>
    <div href="blahblah:randomstuff"  style="background-color:aquamarine">
        Non-exist protocol
    </div>
    <div href="mailto:johndoe@somewhere.com" style="background-color:aqua">
        Send email
    </div>
    <script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
   <script src="https://github.com/ismailhabib/custom-protocol-detection/blob/master/protocolcheck.js"></script>
    <script src="example.js"></script>
</body>

</html>

  1. 我想在用户注册表中验证某些协议的存在。

  2. 如果找不到注册表,我们将下载它,如果找到,我们将调用下一个协议。

  3. 图书馆 https://github.com/ismailhabib/custom-protocol-detection/blob/master/protocolcheck.js

我们可以使用协议检查库进行调用。

1 个答案:

答案 0 :(得分:0)

第二次回调在成功时被调用。因此,第一个检查失败,然后第二个检查代码将不会被调用。