我打算在我的网页中建立一个链接,该链接将打开一个本地文本文件并显示其内容。到目前为止,这是我尝试过的:
<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供参考。