jQuery.load inline script error

Shows how jQuery.load executes inline scripts when an error occurs.

HTML

<div>
    <p>HTML Payload:</p>
    <pre id="code">
        Loading...
    </pre>
</div>
<div>
    <p>Expected:</p>
    <ol id="expected">
    </ol>
</div>
<div>
    <p>Actual:</p>
    <ol id="actual">
    </ol>
</div>
<div>
<div id="loadtarget">
    <p>Loading...</p>
</div>


<!-- Identical to HTML Payload, except for the target. -->
<script>$('#expected').append('<li>Ok!</li>');</script>
<script>$('#expected').append('<li>Error in this script block!</li>'); explode();</script>
<script>$('#expected').append('<li>Ok!</li>');</script>
<script>$('#expected').append('<li>Ok!</li>');</script>

JavaScript

var inlineScript = function(script)
{
    return "\<script\>" + script + "\</script\>\n";
};

var payload = "";
for (var i = 1; i <= 4; ++i)
{
    if (i == 2)
        payload += inlineScript("$('#actual').append('<li>Error in this script block!</li>'); explode();");
    else
        payload += inlineScript("$('#actual').append('<li>Ok!</li>');");
}

var target =  $('#loadtarget');
var code =  $('#code');
code.text(payload);
target.load('/echo/html/', {html:payload}, onload);