我打算在我的网页中建立一个链接,该链接将打开一个本地文本文件并显示其内容。到目前为止,这是我尝试过的:

<a href='#' onclick='readTextFile("file:///F:/folder1/abc.txt")' title='Summary'><h3>Summary</h3></a>

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);
}


这是我得到的错误:


  XMLHttpRequest无法加载file:/// F:/folder1/abc.txt。交叉原点
  仅协议方案支持请求:http,data,chrome,
  chrome-extension,https,chrome-extension-resource。


我的网页在本地服务器上本地运行。

甚至可以打开和读取本地文件吗?似乎有些浏览器可能不允许这样做。

最佳答案

对于符合HTML5的网站,您可以使用HTML5提供的新API。

HTML5 FileReader接口可用于通过熟悉的JavaScript事件处理异步读取文件。它提供以下功能:


readAsText
readAsBinaryString
readAsDataURL
readAsArrayBuffer


请遵循此treehouse blog(也包含演示),也请遵循this供参考。

09-19 18:57