Search code examples
javascriptwindow.openchildwindow

Insert script and iframe tag in IE


I want to write script and iframe elements in the opened window, which works fine in Firefox and Chrome, but not in IE.

My code is below:

 var mywindow = window.open(url,'child',params);
 mywindow.onload = writeToWindow;

 function writeToWindow(){
      var myScriptEle = document.createElement('script');
      myScriptEle.type = "text/javascript"; 
      myScriptEle.text = " some script";

      var myIframe = document.createElement("IFRAME");
      myIframe.id = "childwindow";
      myIframe.name = "childwindowname";
      myIframe.src = MyframeUrl;

      if(mywindow){
      mywindow.document.getElementsByTagName('body')[0].appendChild(myScriptEle);
          mywindow.document.body.appendChild(myIframe);
      }
 }

I'm getting "No such interface supported" errors

Thanks in advance, please let me know if there's any work around for IE


Solution

  • var mywindow = window.open(url,'child',params);
    writeToWindow();
    
    function writeToWindow(){
         var content = '<script type="text/javascript">';
         content += 'function updatePage(){ '; 
         content += 'var myiframe = document.createElement("IFRAME");';
         content += 'myiframe.id = "myIframe";';
         content += 'myiframe.name = "iframe_js";';
         content += 'myiframe.className = "iframe_js";';
         content += 'myiframe.src ="http://stackoverflow.com"';
         content += '</script>';
         if(mywindow){
              mywindow.document.open();
              mywindow.document.writeln('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'+content+'</head><body onload="updatePage()"><div></div></body></html>');
              mywindow.document.close();
         }
     }