I use twitter. Some people's tweets contain photos and I want to save them.
I checked ifttt, where twitter is not a trigger. Thus, ifttt cannot help me do it.
One idea is probably to use JavaScript. I use Firefox and installed Greasemonkey. I can write a Greasemonkey script (JavaScript) running on twitter website. Once I click "retweet" link or other button added by my script, my script examines the content of the tweet, find the URL of the photo, and save it to my disk.
One problem is how to save the image. I searched the Internet. Some use win.document.execCommand("SaveAs")
, and it will show a "save as" window. Now that the window shows, why not just right click the image and choose save as manually? So I don't like the method.
Any suggestions?
It is possible when using Tampermonkey or Violentmonkey (Firefox or Chrome). Those userscript managers have added a GM_download
method.
You can use it like this:
// ==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);
See the official Tampermonkey documentation.
Greasemonkey cannot do this, because ordinary javascript is forbidden to do this (for security reasons), and the Greasemonkey API does not expose a method to write files (and never will).
Here are four alternatives:
Update: Switch to Tampermonkey, which you should do anyway. Then you can use GM_download as user136036 said in his answer.
or
Install and use the excellent DownThemAll add-on (Update: Firefox 57 withdrew support for this kind of extension). It still requires one click, but that's better than always grabbing a file willy nilly, in most cases anyway.
or
Write your own addon extension. See this (now obsolete) answer for file-writing code from one of the top gurus of FF add-ons. But "new" style extensions can still do this.
or
Use XAMPP (or similar) to run a web server on your machine. You will then have to write a web application that excepts incoming image data (or just the image URL) and saves the image to disk.
JavaScript does not have access to the computer's file system.
There is no native JS functionality for this. Otherwise any site would be able to save anything to your PC, which would result in your PC getting messed up in no time.
You won't be able to do this in the way that you would like. If browsers allowed websites to save whatever content they wanted directly to the user's computer... well you can imagine the consequences.
Plugin is the right answer for this. If you are looking for a framework checkout Firebreath it gives you cross platform capability as well as works on all possible browser you can ever think of, including IE. Its easy to learn too
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With