2010-01-22 45 views
0

因此,我有一个测验用户,最后他们显然会得到结果。如何将dymanicaly生成的reults传递到打印友好的新窗口

有一个“打印结果”功能,客户想要加载到新的CSS等一个新的窗口......

我的问题是,我该如何将结果传递到使用JavaScript一个新的窗口?通常我会在会话中完成这一切,但测验和结果都是用javascript完成的。

我基本上有这样的:

$('#quizId .printQuiz').live("click", function(event) { 
     event.preventDefault(); 
     resultsHtml = $('#quizResultsContent').html(); 

     window.open('QuizResults.htm', "Print", "status=0,toolbar=0"); 
} 

我需要resultsHtml传递给QuizResults.htm页面。这甚至有可能吗?

回答

2

您也可以直接写窗口,你并不需要一个实际的页面:

<script type="text/javascript"> 
    var w = window.open(null, '_blank'); 
    w.document.open(); 
    w.document.write('hello world'); 
    w.document.close(); 
</script> 
+0

正是我一直在寻找。谢谢克里斯! – 2010-01-22 21:51:52

2

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

虽然创建一个易于打印的CSS可能会更好,因此用户无需打开新页面即可打印原始页面(尽管这有一个缺点,即用户可能希望打印效果不佳将)。