我正在使用 document.open("text/plain") 和 document.write() 从 JavaScript 创建页面。要呈现的文本是多行制表符分隔的文本。在Chrome 13.0.782.220 m和Safari 5.0.5中,它似乎呈现为text/html,忽略open()调用中的编码规范。说它似乎呈现为 HTML,我的意思是每个空格实例都已被单个空格字符替换。在 Firefox 3.6、Opera 11.51 和 Internet Explorer 8 中,可以正确呈现。这些结果在 Windows 和 Mac OS/X 中是一致的。
我用 [chrome]+text/plain、[safari]+text/plain 和 [webkit]+text/plain 搜索了 stackoverflow,但没有看到任何结果。我还在 chrome 和 webkit 错误报告网站中搜索了 text/plain,但没有看到类似的报告。
有没有其他人遇到过这个问题,或者对如何让我的数据在基于 webkit 的浏览器上正确呈现有任何建议?
这个问题的一个简单的演示页面是:
<html><head>
<script type="text/javascript">
function displayInNewWindow() {
var win;
var doc;
win = window.open("", "WINDOWID");
doc = win.document;
doc.open("text/plain");
doc.write("Line1\tField2\tField3\nLine2\tField2\tField3\n");
doc.close();
}
</script>
</head>
<body>
<script type="text/javascript">displayInNewWindow();</script>
<p>We're here!</p>
</body>
您应该将参数放在 open() 中,因为其他浏览器不支持它,并将参数添加到第一个 write() 的前缀'<PLAINTEXT>'
,一个来自 HTML 历史深处的已被弃用的标签,它完全符合您的要求(它没有结束标签。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)