2011-01-31 135 views
2

我有一个母版页,其中jvscrpt函数称为openWin(),它打开一个新窗口。 这里是我的代码:“我点击”JavaScript呈现HTML页面仍在加载

<html> 
<head> 
<script type="text/javascript"> 
function openWin() 
{ 
win=window.open(); 
win.document.write("<html>"); 
win.document.write("<head>"); 
win.document.write("<style type=\"text/css\">"); 
win.document.write("@media print{.input {display:none}}"); 
win.document.write("</style>"); 
win.document.write("</head>"); 
win.document.write("<body>"); 
win.document.write("<table align=\"center\">"); 
win.document.write("<tr><td>result:</td><td>100,--€</td></tr>"); 
win.document.write("<tr><td colspan=\"2\" id=\"idcko\"><input type=\"button\" value=\"click\" class=\"input\" onclick=\"window.print();\"/></td></tr>"); 
win.document.write("</table>"); 
win.document.write("</body>"); 
win.document.write("</html>"); 
} 
</script> 
</head> 
<body> 
<form> 
<input type="button" value="Click me!" onclick="openWin();" /> 
</form> 
</body> 
</html> 

当我点击按钮会出现一个新窗口,但浏览器无法停止加载页面。该页面具有全部功能,但是例如,当我想在Mozilla中查看源代码时,我只能看到一个空白页面。 请帮助...

+1

它与打开一个新窗口无关,它只是在文件已经完成写入时使用document.write了。如果你在当前页面上执行document.write('test')(加载后),你会得到同样的效果。他们是saem的原因是因为window.open()将打开一个完整但空的文档的新页面。我建议尝试使用DOM功能来添加您的HTML元素,应该更好一点。 – Chris 2011-01-31 12:38:19

回答

6

呼叫

win.document.close(); 

末(最后一次写入后())

这标志着该写过程结束浏览器和文档的完整性。

+0

工作正常,非常感谢 – tomasBULL 2011-01-31 12:42:48

1

但例如当我想看看在Mozilla 源代码,我只得到一个 空白页。

这是因为源代码是由您的javascript编写的 - 这与AJAX相同(您无法查看源代码中的更改)。

也许你会更好的打开一个新页面,并通过GET/POST或服务器端传递它需要的参数。