我正在尝试使用HTML5的新离线功能编写Web应用程序。在这个应用程序中,我希望能够编辑一些HTML —一个完整的文档,而不是一个片段—在<textarea>
,按一个按钮,然后填充一个新的浏览器窗口(或,尚未决定)与HTML中发现的<textarea>
。除了本地客户端之外,新内容不会保留在任何地方,因此在window.open
调用上设置源或上的src
属性不起作用。打开一个新的浏览器窗口/ iframe并在TEXTAREA中从HTML创建新文档?
我在StackOverflow上发现了以下问题:“Putting HTML from the current page into a new window”,这让我成为了那里的一部分。看起来这种技术对碎片效果很好,但我没有成功加载全新的HTML文档。奇怪的是,当我在Firebug中查看DOM时,发现它只是不显示新的HTML —。
是否可以在新窗口或者中呈现生成的HTML文档?
编辑:这是我如何试图做到这一点的 “工作” 的例子:
<!doctype html>
<html>
<head>
<title>Test new DOM</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
function runonload() {
return $("#newcode")[0].value;
}
$(function() {
$("#runit").click(function() {
w=window.open("");
$(w.document).ready(function() {
$(w.document).html(w.opener.runonload());
});
});
});
</script>
</head>
<body>
<textarea id="newcode">
<!doctype html>
<html>
<head>
<title>New Page Test</title>
</head>
<body>
<h1>Testing 1 2 3</h1>
</body>
</html>
</textarea>
<br/>
<button id="runit">Run it!</button>
</body>
</html>
我想出了一个类似的解决方案,但没有意识到我可以立即写出文档(我正在等待新窗口中的空白文档首先加载...愚蠢,我知道)。谢谢你的伟大答案。 – technomalogical 2010-09-07 14:33:53