Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP


<script> tags not handled correctly if nested in other tags #12

Steffen185 opened this Issue · 1 comment

2 participants


I've found yet another crappy ad with a script tag that does not exist at the top-level but inside another tag.

Test case:

<!DOCTYPE html>

<div id="placeholder"></div>
<script src="/clientscripts/crapLoader.js"></script>
<script>crapLoader.loadScript('./crap-ad.js', 'placeholder');</script>



document.write('<div><scr'+'ipt>var x = 1;</scr'+'ipt><span>HTML</span><'+'/div>');

The correct output (without crapLoader) is:


With crapLoader the result is:


The "split" function works fine (with support.splitWithCapturingParentheses = true):

["<div>", "<script>var x = 1;</script>", "<span>HTML</span></div>"] 

The problem seems to be that later in the function "checkWriteBuffer" the HTML fragments are written to the document independently. I do not yet have an idea how to fix this issue.

[Btw, with support.splitWithCapturingParentheses = false the split does not work correctly, but that's another bug that is independent from this issue here:]

["<script>var x = 1;</script>", "<span>HTML</span></div>"]

This one looks a bit complicated, but I have a few ideas on how to solve it. Thanks for all the details :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.