从脚本捕获数据

Capturing data from a script

本文关键字:数据 脚本      更新时间:2023-09-26

我使用的是一个简单的"掷骰子"脚本。我在试图保存滚动的结果时遇到了一些砖墙。

有什么办法让我保存掷骰子的结果吗?CSV可能是最简单的选择,列的标题是"日期"名称"结果"。

我需要这个在没有任何特殊服务器端东西的情况下运行,它只是存储在共享网络驱动器上的html,我没有完全的管理员访问权限。

谢谢你的建议!

编辑:忘了提一下,我可能会把掷骰子的结果添加到表格中,然后把表格数据写入CSV。所以也许这可以简化?

******* 编辑******

如果你试图通过javascript访问文件系统,恐怕你运气不好了。浏览器中的JS被禁止以任何方式访问文件系统作为一种安全功能因此,您的网络驱动器上不可能有持久存储

******结束编辑*******

好吧,由于缺乏包括代码在内的响应,我想出了这个解决方案:(fiddle链接)。

这是自定义代码:

var log = [];
$(document).ready(function () {
    $('#roll').click(function () {
        if (!$('#name').val()) {
            alert("Enter your name first.");
            return;
        }
        var data = {
            Date: Date.now(),
            Name: $('#name').val(),
            Result: (Math.floor(Math.random() * 6) + 1)
        };
        if (data === '') { return; }
        else {
            log.push(data);
            $('#rollLog').append('<tr><td>' + data.Date + '</td><td>' + data.Name + '</td><td>' + data.Result + '</td></tr>');
        }
    });
    $('#save').click(function () {
        JSONToCSVConvertor(log, "Roll Log", true);
    });
});

其他功能可在此处找到:http://jsfiddle.net/hybrid13i/JXrwM/

基本上,这里发生的事情是,我们将创建数据并将其存储在一组javascript对象中,这些对象可以直接翻译为JSON(根据Esaevian的评论)。然后,我们使用这个漂亮的函数将JSON解析为CSV数组,并在新窗口中打开它,然后您的浏览器将其解释为可下载的文件和wala!您可以下载信息。