Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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 是否可以使用JS访问Firefox另存为命令?_Javascript_File_Firefox - Fatal编程技术网

Javascript 是否可以使用JS访问Firefox另存为命令?

Javascript 是否可以使用JS访问Firefox另存为命令?,javascript,file,firefox,Javascript,File,Firefox,我想知道如何在Firefox中调用文件另存为命令 (右键单击图像并保存时得到的图像)使用JS保存图像(或者如果我还可以使用其他内容,如果您能为我指明方向,我将不胜感激)。我正在寻找一个如何打开“另存为”菜单并预填充“文件名”字段的示例。。。我一直在拼命寻找,终于找到了zip。在我的搜索中,我发现您无法直接将文件保存到磁盘,但是否无法调用“另存为”功能?如有任何建议,将不胜感激 编辑: 我并不想让所有人都能使用这些代码,java脚本是客户端的,我只是写了一个小脚本,让保存照片在命名方面更容易一些

我想知道如何在Firefox中调用文件另存为命令 (右键单击图像并保存时得到的图像)使用JS保存图像(或者如果我还可以使用其他内容,如果您能为我指明方向,我将不胜感激)。我正在寻找一个如何打开“另存为”菜单并预填充“文件名”字段的示例。。。我一直在拼命寻找,终于找到了zip。在我的搜索中,我发现您无法直接将文件保存到磁盘,但是否无法调用“另存为”功能?如有任何建议,将不胜感激

编辑: 我并不想让所有人都能使用这些代码,java脚本是客户端的,我只是写了一个小脚本,让保存照片在命名方面更容易一些


-Will

不,你不能这样做,而且你真的在试图找到一种不包括互联网和人们与内容互动方式的解决方案。您试图做的是从Javascript调用操作系统操作。如果真的有,这是可能的,我认为这根本不是,这将是一个非常糟糕的解决方案。想想Firefox上使用的所有不同的操作系统。如果你找到了Windows7的解决方案,那么运行Firefox的苹果Mac呢

你应该考虑的是,用户决定是否将某些东西保存到他们的计算机上,而不是应用程序的程序员。如果提供指向该文件的链接,大多数用户都知道如何右键单击链接并选择“另存为”。添加帮助提示,说明要执行的操作

要为文件指定特定名称,甚至在用户单击或执行某种操作时启动自动下载,您可以从服务器创建一个响应,该响应为PDF、Excel、Jpeg、Doc、Docx或许多其他文件类型。服务器可以将文件加载到内存中,并将其作为响应发送,响应中包含正确的头信息

例如,要在用户下载时为文件设置特定名称,可以使用以下内容设置响应头:

header('Content-Disposition: attachment; filename="downloaded.pdf"');

可以使用锚元素的
download
属性指定要下载的链接。请注意,Chrome、Firefox和Opera目前都支持这一功能

HTMLanchoreElement.下载
是一个DOMString,指示链接的 资源旨在下载,而不是显示在 浏览器该值表示文件的建议名称。如果 名称不是基础操作系统的有效文件名,浏览器将进行调整 信息技术该值是一个URL,具有类似http:、文件:、数据:、甚至 blob:(使用URL.createObjectURL创建)

演示

var canvas=document.getElementById('canvas');
var ctx=canvas.getContext('2d');
ctx.fillRect(25,25100100);
ctx.clearRect(45,45,60,60);
ctx.strokeRect(50,50,50,50);
var link=document.getElementById(“链接”);
//将href设置为要下载的数据url
link.href=”http://placehold.it/350x350";
//将下载设置为要使用的默认文件名
link.download=“image.png”


谢谢您,埃文斯先生!你给了我一些非常好的洞察力,我真的认为这将帮助我得到我需要的!奥格登先生,非常感谢您的回复,我真的很感激!实际上,我目前正在使用运行Firefox的Mac电脑,我自私地编写这个脚本,以便在保存某些网站的照片时让我的生活变得更轻松。你的见解对我来说仍然是无价的,我将在未来的项目中牢记这一点!再次感谢您的快速回复,我真的非常感谢!不客气,希望你能快速顺利地找到所有的解决方案,尽管这在现实生活中几乎不会发生