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