javascript - setting innerHTML with a script inside -


if run following line in firebug on page:

document.documentelement.innerhtml="<script>alert(1)</script>"; 

why isn't alert command executed?

it looks <script> tag is being added expect, code within not being executed. same failure happens if try using document.head (or any other dom element, seems). whatever reason (possibly standards compliance, possible security), inline code inside of <script> blocks added via .innerhtml doesn't run.

however, have working code produces similar functionality:

var script = document.createelement('script'); script[(script.innertext===undefined?"textcontent":"innertext")] = 'alert(1);'; document.documentelement.appendchild(script); 

here, add <script> block documentelement.appendchild , use textcontent or innertext set content of <script>.


Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -