Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将值从textarea保存到空白文件?_Javascript_Jquery_Html_Function_Autosave - Fatal编程技术网

Javascript 如何将值从textarea保存到空白文件?

Javascript 如何将值从textarea保存到空白文件?,javascript,jquery,html,function,autosave,Javascript,Jquery,Html,Function,Autosave,我正在制作一个网页,其中一个用户可以制作他/她自己的功能,然后这些功能将成为网页侧面的一个选项,因此当他们被单击/选择时,他们可以使用。这是流程 用户创建用js编写的函数 单击“保存”按钮后,它将自动保存到Savedfunction.js文件中 创建的函数将作为复选框调用,以便使用 下面是一张进一步阐述问题的图片: 首先,javascript无法在您的计算机上保存文件(除非您使用ie)。安全、隐私…… 如果要让用户下载其创建的文件: Chrome具有新的download属性 但它也适用于其他没

我正在制作一个网页,其中一个用户可以制作他/她自己的功能,然后这些功能将成为网页侧面的一个选项,因此当他们被单击/选择时,他们可以使用。这是流程

  • 用户创建用js编写的函数
  • 单击“保存”按钮后,它将自动保存到Savedfunction.js文件中
  • 创建的函数将作为复选框调用,以便使用
  • 下面是一张进一步阐述问题的图片:


    首先,javascript无法在您的计算机上保存文件(除非您使用ie)。安全、隐私……


    如果要让用户下载其创建的文件:

    Chrome具有新的
    download
    属性 但它也适用于其他没有下载属性的Broser

    var txt='var x = 3,lol=fun;';
    
    function dl(data,filename){
     var b=document.createElement('a');
     b.download=filename;
     b.textContent=filename;
     b.href='data:application/json;base64,'+
     window.btoa(unescape(encodeURIComponent(data)));
     return b
    }
    
    document.body.appendChild(dl(txt,'my.js'));
    
    演示

    评论中还有一个自动下载的链接


    要在服务器上保存数据:

    注意:如果要将函数保存到服务器,则需要像php这样的服务器语言

    <?php
    if($_POST['fn']&&$_POST['data']){
     $fh=fopen($_POST['fn'],'w') or die("can't open file");
     if(fwrite($fh,$_POST['data'])){
      echo '["ok":"file saved"]';// maybe return the saved code.
      //echo json_encode($_POST);
     }else{
      echo '["error":"can\'t save the file"]';
     }
     fclose($fh);
    }
    ?>
    

    要从脚本的字符串执行脚本吗?

    不要使用
    eval()

    使用:


    要实现您所需要的,您需要混合这些技术


    如果您还有其他问题,请提问。

    您可以做一种技巧,(概念)

  • 在php或其他服务器端添加代码
  • 将脚本发布到服务器端(Post方法是首选方法)
  • 在服务器端,使用脚本编写整个页面——php页面将使用javascript
  • 重定向到新页面(php/asp或任何最适合您需要的页面)

  • 祝你好运

    Javascript不能直接写入文件系统(除非您使用运行HTML/Javascript的windows HTA应用程序,这样特殊的文件系统对象就可以在IE中使用)。如果合适,请查看以下内容:

    假设它是一个传统的网页,则需要将生成的javascript保存到Savedfunction.js文件中

    那只是一个文本文件,所以你可以

    • 用户将新javascript作为简单文本添加到网页的文本区域中

    • 当用户提交新功能时(即单击“保存”或其他),向服务器提交HTML表单

    • 让服务器上的接收脚本修改文件并将其添加到js文件中
    也就是说:一个正常的提交过程,只是附加到一个文件,而这个文件恰好是一个javascript文件。如果需要任何参数,那么您可能还需要保留生成的函数列表和对它们的legitemate调用的文本-否则用户(或网页)如何知道如何使用它们

    要查看可用的javascript函数,请打开网页(通过服务器脚本)读取js文件,获取菜单选项中显示内容的数据,并将js文件作为脚本包含在内,以便单击右选项运行右javascript例程


    至于提交javascript时的语法检查。。我会让你决定的!我想您可以使用window.eval(包装在try..catch块中)查看它是否在提交之前编译。

    您是将这些内容保存到某个服务器上,还是只是在浏览器中“保存”或执行?@sir jameslafferty它保存在本地或计算机本地或计算机中。这不一样吗?在这种情况下,看看这里或MDN@Palec,这不太正确。您可以使用文件API写入本地文件。它并不是在所有浏览器中都实现的,但它确实存在。但是你必须先下载它?问题是:“如何将一个值从textarea保存到一个空白文件?”这也解释了它是如何自动下载文件的。标题是这样做的,但是OP希望它自动保存并集成到网站中。现在我的答案应该给他所有他需要的提示。。。正确的?
    window.localStorage
    window.sessionStorage
    
    webSQL
    
    indexedDB
    
     var js="var x='hey';alert(x);"
     (new Function(js))()