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);