我想从我的本地html文件中读取本地文本文件,所以我尝试按照此线程中的解决方案Javascript - 读取本地文本文件,但建议的解决方案对我来说也不起作用:
function readTextFile(file)
{
var rawFile = new XMLHttpRequest();
rawFile.open("GET", file, false);
rawFile.onreadystatechange = function ()
{
if(rawFile.readyState === 4)
{
if(rawFile.status === 200 || rawFile.status == 0)
{
var allText = rawFile.responseText;
alert(allText);
}
}
}
rawFile.send(null);
}
Run Code Online (Sandbox Code Playgroud)
当我调用该函数时,readTextFile("file:///D:/test/text.txt");没有错误显示在firebug中,但也没有显示任何警报.我使用Windows和Firefox 51.0.1(64位).我不想将该功能FileReader()与按钮结合使用,<input type='file' onchange='openFile(event)' ...因为在加载页面时需要自动读取文本文件.那么我怎样才能使上述解决方案成为可能?
读取链接的线程看起来像其他人也有该解决方案的问题,虽然线程被标记为已解决.
完整的HTML和JavaScript文件作为读取客户端数据文件的示例.客户端文件只能由FileReader访问,指定用户选择的文件.
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function loadFile(o)
{
var fr = new FileReader();
fr.onload = function(e)
{
showDataFile(e, o);
};
fr.readAsText(o.files[0]);
}
function showDataFile(e, o)
{
document.getElementById("data").innerText = e.target.result;
}
</script>
</script>
</head>
<body>
Select file to read <input type="file" onchange="loadFile(this)">
<pre id="data"></pre>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)