Javascript iframe without src with nested scripts -


is possible create iframe scripts in head element, before iframe being inserted dom , have scripts onload="alert(1)" fire when ready?

example 1, using nested scripts:

var iframe  = jquery("<iframe></iframe>"); var scripts =  '' +             '<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.js"          onload="alert(1);"><\/script>' +             '<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/cfinstall.min.js" onload="alert(2);"><\/script>';  iframe.html(scripts);  jquery("body").append(iframe); 

example two, bigger:

function loadscript(path, callback, appendto) {         var element = document.createelement('script');         element.setattribute ("type", 'text/javascript');         element.setattribute ("src", path);          return loadelement(element, callback, appendto); }  function loadelement(element, callback, appendto) {         element.loaded = false;          if (element.readystate){  // ie                 element.onreadystatechange = function(){                         if (element.readystate == "loaded" || element.readystate == "complete"){                                 element.onreadystatechange = null;                                  loadelementonload(element, callback);                         }                 };         } else {                 // others                 element.onload = function() {                         loadelementonload(element, callback);                 };         }          (appendto).appendchild(element);          return element; }  function loadelementonload(element, callback) {         if (element.loaded != true) {                 element.loaded = true;                 if ( callback ) callback(element);         } }   function loadscriptnew1(src, callback, appendto) {         loadscript(src, callback, appendto) }  var iframe  = jquery("<iframe></iframe>");  loadscriptnew1("http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.js", function() {         alert(11) }, iframe.get(0) )   loadscriptnew1("http://ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/cfinstall.min.js", function() {         alert(22) }, iframe.get(0) )  jquery("body").append(iframe) 

none of these ways trigger onload functions' alert;

is possible? scripts gets loaded in both cases, window objects set, no callback.

try this:

<html> <head>  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>  <script type="text/javascript">   function insertiframe() {   var iframe = $('<iframe></iframe>').appendto('body')[0];    // switch straight js   var script = iframe.contentwindow.document.createelement("script");   script.type = "text/javascript";   script.src = "//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js";   script.onload = function() { alert(1); };   iframe.contentwindow.document.body.appendchild(script);  }  </script> </head> <body onload="insertiframe()"> </body> 

Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

css - Firefox for ubuntu renders wrong colors -