MS Edge Append Issue

jQuery append() into new window not working with Microsoft Edge

by switzerbaden

HTML

<div class="entry-content">
  <div id="my_target">
    <div class="noprint">This should not show up in the print page</div>
    <form>
      <input type="text" name="texter" placeholder="placeholder text" value="" id="texter" size="30">
      <br>
      <textarea id="textboxer" name="textboxer"> </textarea>
      <br>
      <input type="radio" name="radioman" value="boy"> Boy
      <br>
      <input type="radio" name="radioman" value="girl"> Girl
      <br>
      <input type="radio" name="radioman" value="dog"> Dog
      <br>
      <input type="text" name="noidforme" placeholder="input w/o id" value="" size="30">
      <br>
    </form>
    <div class="trigger" id="id5458" alt="print me" title="print me" data-print_target="#my_target">Print Me</div>
    <div class="bloop" style="display: none">This is some hidden dirty content about dirty, dirty things but will only show up with Print-Pro-Matic.</div>
    <p>here is some more <strong>text</strong>
    </p>
  </div>
</div>

CSS

.trigger {
  cursor: pointer;
}

JavaScript

jQuery(document).ready(function() {
  jQuery('.trigger').click(function() {
    var target = jQuery(this).data('print_target');

    var w = window.open('', '', 'status=no, toolbar=no, menubar=no, location=no');

    var ua = window.navigator.userAgent;
    var ie = true;

    //.html() required for IE browsers
    if (ua.indexOf("MSIE ") != -1) {
      //console.log('MSIE - Craptastic');
      jQuery(w.document.body).append($(target).clone(true).html());
      //print_html += jQuery( target ).clone( true ).html();
    } else if (ua.indexOf("Trident/") != -1) {
      //console.log('IE 11 - Trident');
      jQuery(w.document.body).append(jQuery(target).clone(true).html());
      //print_html += jQuery( target ).clone( true ).html();
    } else if (ua.indexOf("Edge/") != -1) {
    	console.log('IE 12 - Edge');
      //error: No such interface supported
      jQuery(w.document.body).append(jQuery(target).clone(true).html());
			console.log('script breaks in Edge... not getting this far..');
      //works
      //jQuery(w.document.body).append( 'hey dude, this is some text' );

      //works
      //jQuery(w.document.body).html( jQuery( target ).clone( true ).html() );

    } else {
      //console.log('proper browser');
      jQuery(w.document.body).append(jQuery(target).clone(true));
      ie = false;
    }

  });
});