在浏览器中使用Javascript连续为新行添加本地文件

时间:2015-01-20 11:56:49

标签: javascript html5 file-monitoring

我有一个文件经常附加新行。我想使用javascript创建一个在浏览器中运行的Web应用程序,该应用程序将能够检测该本地文件的更改并打印文件中添加的新内容。

我的解决方案包括使用setInterval和新的HTML5文件API进行javascript轮询。我使用输入文件字段加载文件,然后轮询文件的大小。每次大小更改(在我的情况下增加),这表明我已将新内容添加到文件中。然后,我使用Blob对文件进行切片,并仅使用旧文件大小作为开头并将新文件大小作为结尾来附加内容。

一般情况下,平均间隔时间很好(我使用500毫秒),但我很好奇是否有更好的解决方案,因为这听起来有点像黑客攻击。

1 个答案:

答案 0 :(得分:0)

您可以将js-logtail用于以下文件,例如tail -f:

<head>
    <title>habitat parser log viewer</title>
    <script type="text/javascript" src="jquery.min.js"></script>
    <script type="text/javascript" src="logtail.js"></script>
    <link href="logtail.css" rel="stylesheet" type="text/css">
</head>

<body>
    <div id="header">
        js-logtail.
        <a href="./">Reversed</a> or
        <a href="./?noreverse">chronological</a> view.
        <a id="pause" href='#'>Pause</a>.
    </div>
    <pre id="data">Loading...</pre>
</body>

您甚至不需要服务器端部件,网络服务器(如apache,lighthttpd)在内部处理HTTP Range标头。