目前我正在使用此代码使用javascript查看webbrowser中csv的内容。但这仅适用于Firefox,因为其他浏览器不允许您从iframe中获取内容。如果我想使用这个方法,我需要将我的csv转换为txt,并希望保留csv而不是txt。
你们是否知道如何在没有iframe部分和txt部分的情况下完成这项工作,以便我可以在不同的浏览器中使用它?谢谢!
<iframe id="frmFile" src="content/assets/output.txt" onload="LoadFile();" style="display: none;"></iframe>
<script>function LoadFile() {
var oFrame = document.getElementById("frmFile");
var strRawContents = oFrame.contentWindow.document.body.childNodes[0].innerHTML;
while (strRawContents.indexOf("\r") >= 0)
strRawContents = strRawContents.replace("\r", "");
var arrLines = strRawContents.split("\n");
var alltext = "";
if(arrLines[12].split(";")[8] == "0"){ }
for (var i = 1; i < arrLines.length; i++)
{
alltext += "<tr>";
var prop = arrLines[i].split(";");
for (var j = 0; j < 11; j++) {
alltext += "<td>" + prop[j] + "</td>";
}
alltext += "</tr>";
document.close();
}
document.getElementById("message").innerHTML = alltext;
}
</script>
答案 0 :(得分:1)
我建议Ajax获取文件 - &gt;这样你就可以得到文字内容。
<!-- no iframe -->
<script>
var url = "http://www.example.com/file.txt";
var txtFile = new XMLHttpRequest();
txtFile.open("GET",url,true);
txtFile.send();
txtFile.onreadystatechange = function(){
if (txtFile.readyState== 4 && txtFile.status == 200)
{
var strRawContents = jsonFile.responseText;
}
}
</script>