【问题标题】:Javascript: Save json data as a file on the server / user's hard diskJavascript:将json数据保存为服务器/用户硬盘上的文件
【发布时间】:2010-06-02 19:39:45
【问题描述】:

我开发了一个应用程序,允许用户在文本字段中填写信息。我希望他们能够按下一个按钮,该按钮将创建一个包含数据的文件(一个非常长的数组,其中包含有关他们键入的内容和应该去哪里的信息),以便他们可以在以后重新加载数据。我现在没有服务器,我将这个应用程序作为一个独立的 html 应用程序发送给我的朋友以供他们使用,直到我得到 hosing / mySql / 等。 有没有一种方法,当他们点击按钮时,它会获取这些数据(保存为数组,save_data),将其放入文件中,然后基本上从他们的网络浏览器开始下载过程? 稍后,我需要研究什么技术才能将其保存到在线用户帐户中?

【问题讨论】:

    标签: javascript json save


    【解决方案1】:

    这是可行的,但前提是您强制您的用户使用 windows 和 microsoft internet explorer。您可以将 html 文件作为 hta 文件发送,它可以从硬盘中写入和读取数据。 检查http://msdn.microsoft.com/en-us/library/ms536496%28VS.85%29.aspx 了解更多信息。
    hta 文件基本上是一个在标头中带有一些额外标签的本地 html 文件,并且在本地运行(解释)没有安全限制,就像任何 exe 文件一样。 我不知道如何在这里显示完整的 html 代码,(markdown 不适合我),所以如果你想要一个例子:
    1 - 创建一个文件 test.hta,带有标准的 html、head、body 和 script 标签
    2 - 在 head 标签内,插入

        <HTA:APPLICATION 
        ID="oMyApp" 
        APPLICATIONNAME="test"  
        BORDER="yes" 
        CAPTION="yes" 
        SHOWINTASKBAR="yes"
        SINGLEINSTANCE="yes" 
        SYSMENU="yes">
     </HTA:APPLICATION>
    

    3 - 在正文选项卡内放置一个带有 onclick="writeText();"
    的按钮 4 - 在脚本标签内插入

        function writeText(){
            try{
                var fso = new ActiveXObject("Scripting.FileSystemObject"); 
                var fileObject = fso.OpenTextFile("C:\\testhta.txt", 8, true,0);        
                fileObject.WriteLine('text file written');
                fileObject.close();
            }catch(ex){
                alert(ex);
            }
        }
    

    5 - 保存它,双击它,点击按钮,你会得到一个漂亮的“C:\testhta.txt”文件,里面写着“文本文件”。

    【讨论】:

      【解决方案2】:

      如果您没有服务器,那么就没有...没有办法根据使用 javascript 动态生成的数据来启动文件下载/保存

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-13
        • 1970-01-01
        • 2020-05-29
        • 1970-01-01
        • 2016-07-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多