Haroldo Haroldo - 1 year ago 63
Javascript Question

how can i load <script>'s into an iframe?

I've got the logic working to append into my iframe from the parent

this works:

$('#iframe').load(function() {
$(this).contents().find('#target').append('this text has been inserted into the iframe by jquery');

this doesn't

$('#iframe').load(function() {
$(this).contents().find('body').append('<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>');


The problem is something to do with the inserted script tags not being escaped properly.
Half of the javascript is becomes visible in the html, like the first script tag has been abruptly ended.

Answer Source

Maybe the error is with your string, never create a string in javascript with a literal < /script> in it.

$('#iframe').load(function() {
  $(this).contents().find('body').append('<scr' + 'ipt type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></scr' + 'ipt>');    
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download