我正在创建一个新窗口,其中包含用户将要打印的文本。 我想做类似的事情:
var new_win = window.open();
$(new_win.document).html("Test");
答案 0 :(得分:10)
在这种情况下,您正在尝试访问没有jQuery增强功能的dom。您需要先将jquery.js加载到此文档中。如果完成,语法将是。
var popup = window.open('/some/url.html');
popup.document.$('body').html('test');
但要非常小心,在多文档管理和通信中,许多不同的浏览器版本和供应商之间存在许多错误和不便。
如果将通信保持在绝对最小值,并且只是将另一个完整的html文件加载到弹出窗口中,那真的会更好。
答案 1 :(得分:1)
在我们的MVC Web应用程序中,我们需要打开一个新选项卡并展示产品的演示。为此,我们需要在演示模式中应用一些限制,然后单击一个按钮以播放视频。我们这样做是这样的:
DemoTab = window.open("someUrl/demo", "_blank");
if (DemoTab) {
$(DemoTab.document).ready(function () {
$("#hideInDemo", DemoTab.document).removeClass('floatContainer');
$("#hideInDemo", DemoTab.document).css('display', 'none');
$("#play", DemoTab.document).trigger('click');
});
}
仅适用于Chrome和Edge。
因此,我们通过调用加载页面的动作控制器来解决了该问题。我们只是通过ViewBag传递了一个参数进行查看,并在准备文档时检查了该参数,因此我们知道它需要演示。因此,我们运用了局限性。
答案 2 :(得分:-1)
要打开弹出窗口并修改其内容,您可以使用此代码
var popup = window.open('/' + window.URL_PREFIX + 'print/', '_blank');
popup.onload = function() {
$(popup.document.body).html('hello');
};