Html程序  |  59行  |  2.03 KB

<script>
    function clickHandler(errors, warnings)
    {
        return function()
        {
            for (var i = 0; i < errors; ++i)
                console.error("Error " + (i + 1));
            for (var i = 0; i < warnings; ++i)
                console.warn("Warning " + (i + 1));
        }
    }

    function loaded()
    {
        var tests = [
            { errors: 0, warnings: 0 },
            { errors: 1, warnings: 0 },
            { errors: 2, warnings: 0 },
            { errors: 0, warnings: 1 },
            { errors: 0, warnings: 2 },
            { errors: 1, warnings: 1 },
            { errors: 1, warnings: 2 },
            { errors: 2, warnings: 1 },
            { errors: 2, warnings: 2 },
            { errors: 100, warnings: 100 },
        ];

        for (var i in tests) {
            var test = tests[i];

            var button = document.createElement("button");
            var content = "";
            if (!test.errors && !test.warnings)
                content = "(nothing)";
            else {
                if (test.errors > 0)
                    content += test.errors + " error" + (test.errors != 1 ? "s" : "");
                if (test.warnings > 0) {
                    if (content.length)
                        content += ", ";
                    content += test.warnings + " warning" + (test.warnings != 1 ? "s" : "")
                }
            }
            button.innerText = content;
            button.onclick = clickHandler(test.errors, test.warnings);
            var p = document.createElement("p");
            p.appendChild(button);
            document.body.appendChild(p);
        }
    }
</script>
<body onload="loaded()">
<p>To begin test, open DevTools and click one of the buttons below. You should
see an error and/or warning count in the Inspector's status bar. Clicking on
the error/warning count should open the Console. Hovering over the
error/warning count should show you a tooltip that matches the text in the
button you clicked.</p>
<p>Note: You must reload the page between each button press.</p>