使用javascript读取2个文本文件

使用javascript读取2个文本文件,javascript,file,jquery,text,stream,Javascript,File,Jquery,Text,Stream,我无法让javascript加载2个带有常规脚本或查询的文本文件,我需要帮助,请给出答案 以下是jquery <script type="text/javascript"> setTimeout(function(){ window.location.reload(1); }, 1000); </script> <script language="javascript" src="file:///Users/trevor/Desktop/jquery.js"

我无法让javascript加载2个带有常规脚本或查询的文本文件,我需要帮助,请给出答案

以下是jquery

<script type="text/javascript">
setTimeout(function(){
   window.location.reload(1);
}, 1000);
</script>
<script language="javascript" src="file:///Users/trevor/Desktop/jquery.js" ></script>
<script type="text/javascript">
jQuery.get('file:///Users/trevor/Desktop/x.txt', function(data) {
    document.getElementById('xp').innerHTML = data;
});
</script>
<script type="text/javascript">
jQuery.get('file:///Users/trevor/Desktop/y.txt', function(data) {
    document.getElementById('xp').innerHTML = data;
});
</script>
<p id="xp">hi</p>
<br>
<p id="yp">hi</p>

setTimeout(函数(){
窗口。位置。重新加载(1);
}, 1000);
jQuery.get('file:///Users/trevor/Desktop/x.txt,函数(数据){
document.getElementById('xp')。innerHTML=数据;
});
jQuery.get('file:///Users/trevor/Desktop/y.txt,函数(数据){
document.getElementById('xp')。innerHTML=数据;
});
你好


你好

没有

<script type="text/javascript">
var client = new XMLHttpRequest();
client.open('GET', 'file:///Users/trevor/Desktop/x.txt');
client.onreadystatechange = function() {
  document.getElementById('xp').innerHTML = client.responseText;
}
client.send();
</script>
<script type="text/javascript">
var client = new XMLHttpRequest();
client.open('GET', 'file:///Users/trevor/Desktop/y.txt');
client.onreadystatechange = function() {
  document.getElementById('yp').innerHTML = client.responseText;
}
client.send();
</script>

var client=new XMLHttpRequest();
client.open('GET','file:///Users/trevor/Desktop/x.txt');
client.onreadystatechange=函数(){
document.getElementById('xp').innerHTML=client.responseText;
}
client.send();
var client=new XMLHttpRequest();
client.open('GET','file:///Users/trevor/Desktop/y.txt');
client.onreadystatechange=函数(){
document.getElementById('yp').innerHTML=client.responseText;
}
client.send();
而且可能

<script type="text/javascript">
var x = document.getElementById('x').contentWindow.getElementById('xp').innerHTML

var y = document.getElementById('y').contentWindow.getElementById('yp').innerHTML

function updatex(){document.getElementById(xp).innerHTML = x}

function updatey(){document.getElementById(yp).innerHTML = y}

setInterval( "updatex(); document.getElementById('x').contentWindow.location.reload();", 1000 );

setInterval( "updatey(); document.getElementById('y').contentWindow.location.reload();", 1000 );


</script>
<p id="xp">hi</p>
<br>
<p id="yp">hi</p>

<iframe id="x" src="file:///Users/trevor/Desktop/x.txt"></iframe>

<iframe id="y" src="file:///Users/trevor/Desktop/y.txt"></iframe>  

var x=document.getElementById('x').contentWindow.getElementById('xp').innerHTML
变量y=document.getElementById('y').contentWindow.getElementById('yp').innerHTML
函数updatex(){document.getElementById(xp).innerHTML=x}
函数updatey(){document.getElementById(yp.innerHTML=y}
setInterval(“updatex();document.getElementById('x').contentWindow.location.reload();”,1000);
setInterval(“updatey();document.getElementById('y').contentWindow.location.reload();”,1000);
你好


你好

您可以使用定期加载文件。这里有一些重构:

function loadFile(url, elementId){
    var client = new XMLHttpRequest();
    client.open('GET', url);
    client.onreadystatechange = function() {
      document.getElementById(elementId).innerHTML = client.responseText;
    }
    client.send();
}
现在,您可以每秒调用两次:

var interval = setInterval(function(){
                             loadFile('file:///Users/trevor/Desktop/x.txt', 'xp');
                             loadFile('file:///Users/trevor/Desktop/y.txt', 'yp');
                           },1000);
一些注意事项:

  • 这可以在本地计算机上运行,但不能在所有浏览器上运行,而且当页面位于服务器上时,肯定不能运行一次
  • 由于调用是异步的,所以对旧调用的响应可能会在新调用之后返回。您可能希望保留旧的
    客户端
    s并将其取消
  • 如果可能的话,另一种方法是使用
    s,并简单地定期刷新它们
您可以使用定期加载文件。这里有一些重构:

function loadFile(url, elementId){
    var client = new XMLHttpRequest();
    client.open('GET', url);
    client.onreadystatechange = function() {
      document.getElementById(elementId).innerHTML = client.responseText;
    }
    client.send();
}
现在,您可以每秒调用两次:

var interval = setInterval(function(){
                             loadFile('file:///Users/trevor/Desktop/x.txt', 'xp');
                             loadFile('file:///Users/trevor/Desktop/y.txt', 'yp');
                           },1000);
一些注意事项:

  • 这可以在本地计算机上运行,但不能在所有浏览器上运行,而且当页面位于服务器上时,肯定不能运行一次
  • 由于调用是异步的,所以对旧调用的响应可能会在新调用之后返回。您可能希望保留旧的
    客户端
    s并将其取消
  • 如果可能的话,另一种方法是使用
    s,并简单地定期刷新它们

您是否在
localhost
而不是
文件
协议上尝试过此功能?后者可能有点滑稽。现代浏览器在读取文件时存在安全问题。运行本地Apache服务器或IIS以避免出现这些问题。您是否在
localhost
而不是
file
协议上尝试过此操作?后者可能有点滑稽。现代浏览器在读取文件时存在安全问题。运行本地Apache服务器或IIS,这样就不会出现这些问题。我喜欢这个想法。。。但我无法使用它,这里有一个粘贴箱,我用数据URL而不是文件和p.s.制作。我不需要在服务器上运行它,它只是为了在我的服务器上使用computer@Trevor-似乎对我有用(虽然我遗漏了一行代码):,所以问题可能真的是
文件//
协议。@Trevor-关于编辑,这里有一个使用iframes的替代方案:(例如,您可以使用FireBug,以查看每5秒重新加载一次的图像)我喜欢这个想法。。。但我无法使用它,这里有一个粘贴箱,我用数据URL而不是文件和p.s.制作。我不需要在服务器上运行它,它只是为了在我的服务器上使用computer@Trevor-似乎对我有用(虽然我遗漏了一行代码):,所以问题可能真的是
文件//
协议。@Trevor-关于编辑,这里有一个使用iframes的替代方法:(例如,您可以使用FireBug查看每隔5秒重新加载的图像)