Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript—逐行读取文本文件。使用什么浏览器重要吗?_Javascript_Jquery_Web Services_Mobile_File Io - Fatal编程技术网

Javascript—逐行读取文本文件。使用什么浏览器重要吗?

Javascript—逐行读取文本文件。使用什么浏览器重要吗?,javascript,jquery,web-services,mobile,file-io,Javascript,Jquery,Web Services,Mobile,File Io,我刚刚开始接触Javascript和移动web编程。我不确定的一件事是,我如何编写在任何浏览器上运行的正确代码,而不让最终用户对其终端有任何额外要求(使用什么浏览器) 我用谷歌chrome和最近的c9.io编写了这个代码 我认为这会奏效: function readTextFile(file) { var client = new XMLHttpRequest(); client.open('GET', file); client.send(); c

我刚刚开始接触Javascript和移动web编程。我不确定的一件事是,我如何编写在任何浏览器上运行的正确代码,而不让最终用户对其终端有任何额外要求(使用什么浏览器)

我用谷歌chrome和最近的c9.io编写了这个代码

我认为这会奏效:

 function readTextFile(file) 
 {
     var client = new XMLHttpRequest();
     client.open('GET', file);
     client.send();
     client.onreadystatechange = function() {
         alert(client.responseText);
     }
 }
但我得到的错误是没有定义XMLHTTpRequest。我一直在试图弄清楚这是为什么,我不断地发现不同的浏览器不支持这一点。我原以为简单的文件io不会那么困难,但它给我带来的麻烦比我想象的要多


输入文本文件的最佳方式是什么?这是一个没有写入任何内容的文本文件。只是只读。最终用户没有选择此文本文件,它应该是唯一的选项

XMLHTTpRequest不受旧浏览器支持。尝试执行此操作以支持较旧的浏览器:

var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

代码中的顺序错误,
send
方法应该是最后一个;否则,您的代码就可以了,在所有现代浏览器中都应该可以正常工作。提到的订单问题,或者可能是(之前)其他原因导致了该错误。下面的代码段还将在文本行数组中拆分接收到的文本

var xhr, i, text, lines;
if(window.XMLHttpRequest){
    // IE7+, Firefox, Chrome, Opera, Safari
    xhr = new XMLHttpRequest();
}else{
    // IE5, IE6  - next line supports these dinosaurs
    xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.onreadystatechange = function(){
    if(xhr.readyState == 4 && xhr.status == 200){
        text = xhr.responseText;
        lines = text.split("\n"); 
        for(i = 0; i < lines.length; i++){ 
            console.log(lines[i]); 
        }
    }
}
xhr.open('GET', 'http://domain/file.txt', true);
xhr.send();
var xhr,i,text,line;
if(window.XMLHttpRequest){
//IE7+、Firefox、Chrome、Opera、Safari
xhr=newXMLHttpRequest();
}否则{
//IE5,IE6-下一行支持这些恐龙
xhr=新的ActiveXObject(“Microsoft.XMLHTTP”);
}
xhr.onreadystatechange=函数(){
如果(xhr.readyState==4&&xhr.status==200){
text=xhr.responseText;
行=文本。拆分(“\n”);
对于(i=0;i
ActiveXObject是人们现在处理io文件的“标准”方式吗?有关于这方面的文档链接吗?感谢您的回复。他们不在较旧的浏览器(IE 5和IE 6)中使用它。除了
文本
,要求是否允许包含相同内容的文件类型?谢谢