当前位置: 首页 > 面试题库 >

打开一个新的javascript窗口(.open)及其CSS样式

高山
2023-03-14
问题内容

我正在尝试让此功能在我正在处理的项目的网站上工作。此功能的目的是仅(物理上)打印子div的内容,该子div被巧合地称为选择器#content。

这是我现在要了解的一点:

<script>
    function printContent() {
        window.open().document.write($("#content").html());
        window.print();
        window.close();
    }
</script>

当用户单击“打印”超链接时,将触发该功能。新窗口将加载#content div的内容,该内容是从另一个HTML文档解析的:

<div id="content">
    <br/>
    <div id="Algemeen">
        <h3>Algemene informatie</h3>
        <fieldset id="profile">
            <img id="male" src="./images/Pixers/male_icon.jpg"></img>
            <img id="female" src="./images/Pixers/female_icon1.jpg"></img>
        </fieldset>
    </div>
    <div id ="leftbox">   
        <div id ="veldbox"><label>BSN:</label>$!person.bsn</div>
        <div id ="veldbox"><label>Voornaam: </label>$!person.first_name</div>
        <div id ="veldbox"><label>Achternaam:</label>$!person.name_prefix $!person.last_name</div>
        <div id ="veldbox"><label>Geslacht:</label>$!person.gender</div>  
        <div id ="veldbox"><label>Woonadres:</label>$!person.address</div>
        <div id ="veldbox"><label>Plaatsnaam:</label>$!person.location</div>
        <div id ="veldbox"><label>Provincie:</label>$!person.province</div>
        <div id ="veldbox"><label>Postcode:</label>$!person.zipcode</div>
        <div id ="veldbox"><label>Tel. nummer thuis:</label>$!person.h_number</div>
        <div id ="veldbox"><label>Mobiel nummer:</label>$!person.mobile_nr</div>
        <div id ="veldbox"><label>Burgerlijke Stand:</label>$!person.m_status</div>
        <div id ="veldbox"><label>land van herkomst:</label>$!person.origin</div>
    </div>
    <div id="rightbox">
        <div id ="veldbox"><label>Naam instantie:</label></div>
        <div id ="veldbox"><label>Adres instantie:</label></div>
        <div id ="veldbox"><label>Postcode instantie:</label></div>
        <div id ="veldbox"><label>Tel. instantie:</label></div>
        <div id ="veldbox"><label>Fax instantie:</label></div>
        <div id ="veldbox"><label>E-mail instantie:</label></div>
        <div id ="veldbox"><label>Website instantie:</label></div>
        <div id ="veldbox"><label>-:</label></div>
        <div id ="veldbox"><label>-:</label></div>
        <div id ="veldbox"><label>-:</label></div>  
    </div>
</div>

它只是不会随样式一起加载样式。所有内容都将被裁剪在左上角。我试过通过JS链接CSS或按照另一页的建议将其放在页面的开头。我当然可能做错了。我还没有真正尝试使用JQuery来解决这个问题,因此,如果您有任何其他可以帮助我解决问题的解决方案,我很高兴并愿意收到有关它们的一些建议。

提前致谢!


问题答案:

在打开的窗口中构建完整的HTML页面,并在其中引用您的CSS文件:

var win = window.open('','printwindow');
win.document.write('<html><head><title>Print it!</title><link rel="stylesheet" type="text/css" href="styles.css"></head><body>');
win.document.write($("#content").html());
win.document.write('</body></html>');
win.print();
win.close();


 类似资料:
  • 查看这段代码,它们展示了一种在登录后显示新窗口的方法。当用户名和密码是正确的,它打开新的对话框。我想要一个按钮点击打开新的对话框,而不检查用户名和密码。

  • 问题内容: 我正在创建一个“共享按钮”以共享当前页面。我想获取当前页面的URL并在新窗口中打开它。我有当前的URL部分,但似乎无法使下一部分工作。 我在语法上苦苦挣扎。我想将新窗口的大小指定为。 就像是: 有任何想法吗? 问题答案: 用途: 这将创建一个标题为链接的链接,该链接将在一个新窗口中打开一个高度为570,宽度为520的新网址。

  • 我有A. fxml和B. fxml。运行Java应用程序覆盖启动方法。我想每40分钟循环(5次){打开新阶段B. fxml并等待stage.close,如果阶段关闭继续循环打开新阶段B fxml。循环五次。我尝试定时器timerment我不能。我尝试JavaFX服务我不能。我创建My线程扩展线程对象。这一次,我无法控制下一阶段的循环。当用于声明开始打开5阶段。但是我想循环等待当前阶段关闭,然后进入

  • 新窗口打开链接 该方法可以新起webview打开页面,由于客户端窗口过多会占用较多内存,请谨慎使用 Tida.pushWindow("http://www.tmall.com/go/chn/common/u-award.php?disableptf=1"); 关闭窗口 关闭当前webview窗口 Tida.popWindow();

  • vue3 中,window open打开了一个新窗口,新窗口执行某些操作后,可以代码控制该新窗口最小化(后续可以点击展开,winow.close的话,再次打开会丢失数据),然后显示出原来的主窗口嘛?

  • 问题内容: 我正在尝试从javascript打开一个新窗口,但没有插入html: 有人知道为什么吗? 问题答案: 这是一个使用jQuery打开包含内容的新窗口的示例