javascript - 在浏览器中使用 Javascript 连续跟踪本地文件的新行

标签 javascript html file-monitoring

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

我的解决方案包括使用带有 setInterval 的 javascript 轮询和新的 HTML5 文件 API。我使用输入文件字段加载文件,然后轮询文件的大小。每次大小发生变化(在我的例子中是增加)时,这向我表明新内容已添加到文件中。然后,我使用 Blob 对文件进行切片,仅将使用旧文件大小附加的内容作为开始,将新文件大小作为结束。

通常它在平均间隔(我使用 500 毫秒)时效果很好,但我很好奇是否有更好的解决方案,因为这个对我来说听起来有点像 hack。

最佳答案

您可以使用 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 header 处理此问题。

关于javascript - 在浏览器中使用 Javascript 连续跟踪本地文件的新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28044799/

相关文章:

c# - 如何从 Windows 服务调用我的 dll?

javascript - 单击/切换以显示更多

javascript - 使用可编辑的 div 高度更改来添加和删除其他 DOM 元素的类

javascript - jQuery 方法,可选参数的顺序

html - 链接/悬停效果不适用于固定导航栏中页面的某些部分

c - 构建文件监控系统

javascript - 突出显示 amcharts 中的特定范围

html - 初学者 : Help me replace a background image logo with a clickable one

html - Razor 页面 (cshtml) 渲染 HTML 标记而不使用经典颜色

java - 如何监控文件修改并了解进行了哪些更改