脚本适用于Chrome,但不适用于IE或FF

时间:2017-04-05 08:59:18

标签: javascript google-chrome internet-explorer firefox readfile

我有以下代码在chrome中有效,但在FF或IE中不起作用。

该代码允许用户选择文本文件并每10秒重新读取一次内容,并使用文本文件的内容更新PRE标记。



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Read text file every 10 seconds</title>
    <script type="text/javascript">
		
		
	var currentIntervalId = undefined;
		var startOrRestart = function(that) {
		if (currentIntervalId !== undefined) clearInterval(currentIntervalId);
		readText(that); // For executing immediately
		currentIntervalId = setInterval(function() { readText(that); }, 10000);
		};
		
		function readText(that){
			if(that.files && that.files[0]){
			//alert("hello");
				var reader = new FileReader();
				reader.onload = function (e) {
					var contents = e.target.result;//.replace("\r\n","<br/>");
					contents = contents.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
					document.getElementById('board').innerHTML= contents;
				};//end onload()
				reader.readAsText(that.files[0]);
			}//end if html5 filelist support
		} 
		
    </script>
  </head>
  <body>

<input type="file" onchange='startOrRestart(this)' />  <hr />

<pre id="board" contenteditable = "true">
This is where the text from the chosen text file will be loaded.
</pre>

</body>
</html>
&#13;
&#13;
&#13;

有人可以帮助其在其他浏览器中使用吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

选择文件时,输入会显示该点内容的快照。磁盘上的本地更改不会更新快照。

Chrome的实施似乎违反了规范,因此一个示例仅适用于Chrome。

您可以通过解释here

查看另一个问题