使用自定义html内容在IE中打开新窗口

时间:2017-06-02 14:05:48

标签: javascript internet-explorer

我想打开一个带有自定义html内容的弹出窗口IE。使用第Can I open a new window and populate it with a string variable?页上提供的答案

我使用了以下javascript代码段:

    var wnd = window.open("about:blank", "", "");
    wnd.document.write(htmlContent);
    wnd.document.close();

此代码在新选项卡中打开内容而不是弹出窗口,因此我使用了额外参数_blank,如下所示:

    var wnd = window.open("about:blank", "", "_blank");
    wnd.document.write(htmlContent);
    wnd.document.close();

现在,弹出窗口打开我的内容但它没有滚动条,无法调整大小并且没有菜单,因为无法打印。我已经尝试过的一种方法是使用windowfeatures参数,如下所示:

  var strWindowFeatures = 
   "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes";
    var wnd = window.open("about:blank", strWindowFeatures, "_blank");
    wnd.document.write(htmlContent);
    wnd.document.close();

但是使用此参数对结果弹出没有影响。此外,在Chrome中,弹出窗口没有内容。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

所以,我继续尝试自己并使用MDN网站上的window.open文档

https://developer.mozilla.org/en-US/docs/Web/API/Window/open

我找到了以下解决方案:

  var wnd = window.open("about:blank", "", 
 "menubar,resizable,scrollbars,status");
  wnd.document.write(htmlContent);
  wnd.document.close();

我在IE 11中测试了这段代码,弹出窗口中有html内容,可滚动和调整大小,按Alt键可以访问IE菜单。 重要 此代码在Chrome中不起作用,Chrome的可行解决方案是:

 window.open("data:text/html;charset=utf-8," +
                htmlContent, "", "_blank");

我从

获得了这个解决方案

Can I open a new window and populate it with a string variable?