将javascript输出保存为文本文件

save javascript output as textfile

本文关键字:文本 文件 保存 javascript 输出      更新时间:2023-09-26

这是我的XML文件:-

<child_2 entity_id="2" value="Root" parent_id="1">
    <child_4 entity_id="4" value="Activities" parent_id="2">
        <child_10066 entity_id="10066" value="Physical1" parent_id="4">
            <child_10067 entity_id="10067" value="Cricket" parent_id="10066">
                <child_10068 entity_id="10068" value="One Day" parent_id="10067"/>
            </child_10067>
        </child_10066>
        <child_10069 entity_id="10069" value="Test2" parent_id="4"/>
        <child_10070 entity_id="10070" value="Test3" parent_id="4"/>
        <child_10071 entity_id="10071" value="Test4" parent_id="4"/>
        <child_10072 entity_id="10072" value="Test5" parent_id="4"/>
        <child_5 entity_id="5" value="Physical" parent_id="4"/>
    </child_4>
</child_2>

这是我的javascript:-

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
var xml;
$.get(
    "region.xml",  
    function(data)
    { xml=data; },
    "html"
);
function get_list(){
    xmlDoc = $.parseXML( xml ),
    $xml = $( xmlDoc ),
    $title = $xml.find('[entity_id="'+$('#select').val()+'"]');
    $nodes = $title.find('*');
    var result='';
    $nodes.each(function(){
        result += $(this).attr('entity_id');
        result += ',';
    });
    $("#result").html(result);
}
</script>
<input type="text" id="select">
<input type="button" name="button" value="Search" onclick="get_list()" >
<div id="result">
</div>


在这里,我试图获得所有的xml属性值,我是成功的,现在我想把这个输出保存为textfile
这怎么可能呢
请帮我解决这个问题……
谢谢

一种HTML5方法:

window.URL = window.URL || window.webkitURL;
function download(/*string*/dataToDownload, /*string*/filename) {
     var a = document.createElement('a');
     var blob = new Blob(dataToDownload, {'type':'application'/octet-stream'});
     a.href = window.URL.createObjectURL(blob);
     a.download = filename;
     a.click();
};

你也可以使用Downloadify库,它使用flash触发下载并允许用户命名文件。

或者最常见和安全的方式是将数据发送到php并返回正确的头,这将触发下载并允许用户命名文件

看一下

  1. HTML5的File System API

  2. File Writer API link

在客户端写入文件不仅相当复杂(使用ActiveX Scripting.FileSystemObject),而且由于安全原因也是一种不好的做法。

如果您想要跨浏览器工作的解决方案,最好将数据发布到服务器,例如PHP文件。然后,这个php文件可以"提供"文件来下载。