Javascript可以';找不到文件

Javascript可以';找不到文件,javascript,path,Javascript,Path,我开发firefox插件是为了好玩,但我遇到了一个问题。我想读取文本文件,但似乎无法打开该文件进行读取。 我在我的电脑上运行,没有涉及服务器 以下是我使用的代码: function readTextFile(file) { var rawFile = new XMLHttpRequest(); rawFile.open("GET", file, false); rawFile.onreadystatechange = function () { if(rawFil

我开发firefox插件是为了好玩,但我遇到了一个问题。我想读取文本文件,但似乎无法打开该文件进行读取。 我在我的电脑上运行,没有涉及服务器

以下是我使用的代码:

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;
            var lines=rawFile.responseText.split('\r\n');
            var list=[];
            for (var line=0; line<lines.length; line++)
            {
                list.push(lines[line]);
            }
            console.log(list);
        }
    }
}
rawFile.send(null);
}

readTextFile('file:///C:/Users/respect/my/privacy/ImgArray.txt');
函数readTextFile(文件)
{
var rawFile=new XMLHttpRequest();
打开(“获取”,文件,错误);
rawFile.onreadystatechange=函数()
{
if(rawFile.readyState==4)
{
if(rawFile.status==200 | | rawFile.status==0)
{
var allText=rawFile.responseText;
var lines=rawFile.responseText.split('\r\n');
var列表=[];

对于(var line=0;line使用
file://
打开任意文件出于安全原因不起作用。如果允许您从文件系统读取本地文件,任何插件或网站都可以尝试扫描您的硬盘并读取任何内容

如果您将文件托管在您拥有的域上,并且具有适当的跨源标题,则该文件应能正常工作,例如
http://mydomain/myfiles/ImgArray.txt


如果需要本地文件,则必须使用HTML5文件API,并让用户选择要授予权限的文件。

将最后一行更改为此

readTextFile('./privacy/ImgArray.txt'); 或 readTextFile(“./privacy/ImgArray.txt”); 并确保您的文件存在于该路径中

祝您好运

您能在
onreadystatechange
的开头检查1)
readyState
实际上是
4
并且2)每次readyState更改时onreadystatechange都在运行吗。