将html页面上显示的文本复制到文本文件

时间:2018-06-15 04:32:55

标签: javascript html

我正在使用html页面中的moment.js将Jenkins时间戳转换为日期格式。

<!DOCTYPE html>
<html>
<head>
    <title>Convert Jenkins TimeStamp to Date Format</title>
    <script src="moment.js"></script>
    </head>
<body>
<div id="momenttd"></div>
<script>
var timestamp = 1528978234987;
var fmtdate = moment(timestamp).format("DD-MM-YYYY");
document.getElementById('momenttd').innerHTML = fmtdate;
</script>
</body>
</html>

在启动html文件时,它正确地给出了我需要的日期。 接下来,我想将显示的日期复制到文本文件中,页面被拉开。因为,它是一个本地html文件,文件:/// C:/date.html,wget和curl都没有帮助获取显示的日期。

任何人都可以帮助我,我可以如何实现它?

1 个答案:

答案 0 :(得分:1)

未经许可或禁用某些安全选项,客户端计算机浏览器将不允许写入文件。

var timestamp = 1528978234987;
var fmtdate = moment(timestamp).format("DD-MM-YYYY");
document.getElementById('momenttd').innerHTML = fmtdate;


window.onload = function () {
    var textFile = null,
        makeTextFile = function (text) {
            var data = new Blob([text], {
                type: 'text/plain'
            });

           
            if (textFile !== null) {
                window.URL.revokeObjectURL(textFile);
            }

            textFile = window.URL.createObjectURL(data);

            return textFile;
        };


    var create = document.getElementById('create'),
        momenttd = document.getElementById('momenttd').textContent;

    create.addEventListener('click', function () {
        var link = document.getElementById('downloadlink');
        link.href = makeTextFile(momenttd);
        link.style.display = 'block';
    }, false);
    document.getElementById("create").click();
    document.getElementById("downloadlink").click();
};
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>


<div id="momenttd"></div>
<button id="create" style="display: none">Create file</button> <a download="info.txt" id="downloadlink" style="display: none">Download</a>

希望这会对你有所帮助。