8

我用推特。有些人的推文包含照片,我想保存它们。

我检查了 ifttt,其中 twitter 不是触发器。因此,ifttt 无法帮助我做到这一点。

一种想法可能是使用 JavaScript。我使用 Firefox 并安装了 Greasemonkey。我可以编写一个在 twitter 网站上运行的 Greasemonkey 脚本 (JavaScript)。一旦我单击脚本添加的“转发”链接或其他按钮,我的脚本就会检查推文的内容,找到照片的 URL,并将其保存到我的磁盘中。

一个问题是如何保存图像。我搜索了互联网。一些使用win.document.execCommand("SaveAs"),它会显示一个“另存为”窗口。既然窗口显示了,为什么不直接右键单击图像并选择手动保存?所以我不喜欢这种方法。

有什么建议么?

4

6 回答 6

10

使用 Tampermonkey 或 Violentmonkey(Firefox 或 Chrome)时,这是可能的。那些用户脚本管理器添加了一个GM_download方法。

你可以像这样使用它:

// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        http*://*/*
// @grant        GM_download
// ==/UserScript==


var arg = { url: "https://example.com/123456.jpg",
            name: "CustomFileName.jpg"
          };

GM_download(arg);

请参阅Tampermonkey 官方文档

于 2016-04-19T13:11:35.563 回答
8

Greasemonkey 不能这样做,因为普通的 javascript 被禁止这样做(出于安全原因),并且Greasemonkey API没有公开写入文件的方法(永远不会)。

这里有四种选择:

  1. 更新:切换到 Tampermonkey无论如何你都应该这样做。然后您可以按照user136036他的回答中所说的那样使用GM_download

    或者

  2. 安装和使用出色的DownThemAll插件更新: Firefox 57 取消了对这种扩展的支持)。它仍然需要单击一下,但这比总是随意抓取文件要好,在大多数情况下无论如何。

    或者

  3. 自己写添加在延期。 请参阅此(现已过时)答案,了解来自 FF 附加组件的顶级大师之一的文件编写代码。但是“新”风格的扩展仍然可以做到这一点。

    或者

  4. 使用XAMPP(或类似软件)在您的机器上运行 Web 服务器。然后,您必须编写一个 Web 应用程序,将传入的图像数据(或只是图像 URL)除外,并将图像保存到磁盘。

于 2012-11-29T14:26:12.400 回答
2

JavaScript 无权访问计算机的文件系统。

对此没有本机 JS 功能。否则,任何站点都可以将任何内容保存到您的 PC 上,这将导致您的 PC 立即变得混乱。

于 2012-11-29T13:33:35.810 回答
1

您将无法以您想要的方式执行此操作。如果浏览器允许网站将他们想要的任何内容直接保存到用户的计算机……那么你可以想象后果。

于 2012-11-29T13:33:05.477 回答
1

插件是这个问题的正确答案。如果您正在寻找一个框架 checkout Firebreath,它可以为您提供跨平台功能,并且可以在您能想到的所有可能的浏览器上运行,包括 IE。它也很容易学习

于 2012-11-29T14:15:46.033 回答
0

您可以在 Firefox 中轻松执行此操作,方法是选择从现在开始自动保存此选项而不是提示。我想这个选项也应该在 Chrome 中可用。

当您第一次下载新扩展名的文件时,例如 Zip 或 jpg,浏览器可能会提示您保存该文件的位置。在这种情况下,您可以将位置设置为要下载文件的默认位置,并将复选框设置为自动下载此类文件。

于 2012-12-01T10:57:12.423 回答