我有一个包含文本文件的HTML文件。这是我的javascript包含文本文件:
document.include = function (url) {
if ('undefined' == typeof(url)) return false;
var p,rnd;
if (document.all){
p = new ActiveXObject("Microsoft.XMLHTTP");
}
else {
p = new XMLHttpRequest();
}
rnd = Math.random().toString().substring(2);
url = url.indexOf('?')>-1 ? url+'&rnd='+rnd : url+'?rnd='+rnd;
p.open("GET",url,false);
p.send(null);
document.write( p.responseText );
};
这是我的HTML:
<html>
<head>
<link media="all" href="style.css" type="text/css" rel="stylesheet">
<title>Report</title>
<script src="embed_text.js" type="text/javascript"></script>
</head>
<body>
<script>document.include('out.log');</script>
</body>
</html>
不幸的是,导入的内容没有任何换行符!所有行都相互附加;但是当我进入检查模式时,所有线条都显示正确!我的意思是内容以不同的方式显示。我该怎么做才能解决问题。包括CSS或javascript在内的解决方案完全没问题!
这是HTML视图和检查模式中内容的不同之处:
答案 0 :(得分:1)
那是因为您的代码被解析为HTML,因此除了第一行之外的新行和空格。
尝试在<pre>
代码中包装文字,您应该会看到所需的输出。
答案 1 :(得分:1)
您可以尝试将此代码添加到您的html:
<style>
body {
white-space: pre-line;
}
</style>
有关白色间距的更多信息: http://www.w3schools.com/cssref/pr_text_white-space.asp
如果你的html主体中还有其他组件,而不仅仅是日志中的文本,那么将它包装在div中并更改规则选择器。