代码之家  ›  专栏  ›  技术社区  ›  Jack Marchetti

如何将Dymanicaly生成的重用程序传递到一个打印友好的新窗口中

  •  0
  • Jack Marchetti  · 技术社区  · 15 年前

    所以我有一个小测验用户参加,最后他们显然会得到结果。

    有一个“打印结果”功能,客户端希望用新的CSS等加载到一个新窗口中。

    我的问题是,如何使用javascript将结果传递到新窗口?通常情况下,我会用会话来完成这一切,但是测试和结果都是用JavaScript完成的。

    我基本上有:

    $('#quizId .printQuiz').live("click", function(event) {
            event.preventDefault();
            resultsHtml = $('#quizResultsContent').html();
    
            window.open('QuizResults.htm', "Print", "status=0,toolbar=0");
    }
    

    我需要将resultshtml传递到quickresults.htm页面。这是可能的吗?

    2 回复  |  直到 15 年前
        1
  •  2
  •   Chris Haas    15 年前

    您也可以直接写入窗口,不需要实际页面:

    <script type="text/javascript">
        var w = window.open(null, '_blank');
        w.document.open();
        w.document.write('hello world');
        w.document.close();
    </script>
    
        2
  •  2
  •   Samuel Neff    15 年前

    在目标页面中,您可以使用window.opener引用原始窗口,并拉出所需的任何数据或标记。

    最好是创建一个易于打印的CSS,这样用户就可以在不打开新页面的情况下打印原始页面(尽管这样做有一个缺点,即即使用户希望它打印得不好)。