我想打开一个带有自定义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中,弹出窗口没有内容。我该如何解决这个问题?
答案 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?