An image picker written in webextensions.
- Download an image with drag-n-drop or ctrl/shift/alt + click.
- Show download button on hover.
- Batch download all images from current tab or tabs to the right.
- Filter images according to
- min width
- min height
- file size
- image URL
- Copy URLs of selected images.
- Filter images according to
- Customized filename.
- Handle invalid characters in filename.
- Download from browser cache.
- Transform URLs with find-and-replace.
Filename may contain following ${variable}
s:
index
: an increasing number represent the index of the image. Only available in batch download.url
: entire URL of the image.hostname
: hostname extracted fromurl
. (e.g.http://example.com/abc.jpg
->example.com
)name
: filename extracted fromurl
. (e.g.http://example.com/abc.jpg
->abc
)ext
: file extension extracted fromurl
. If the URL doesn't contain the extension, it uses the default extension which can be set in option page.pageTitle
: title of the page.pageUrl
: URL of the page.pageHostname
: hostname extracted frompageUrl
.date
: an instance of JavaScriptDate
.dateString
: a date string in formatyear-month-day hour minute second
e.g.2018-01-18 08 28 56
.
Some notes for iframe:
- When downloading with drag-n-drop
pageTitle
,pageUrl
, etc, are grabbed from the top window.
- When batch downloading
pageTitle
,pageUrl
, etc, are grabbed from the window of the iframe.
Feel free to open an issue to discuss this behavior if you think this is not right.
If this option is checked, the extension would evaluate the content inside ${}
as simple expressions, by using expression-eval.
Here are some examples:
- Make
index
start from0
:Image Picka/${pageTitle}/${index-1} - ${name}${ext}
- Zero-pad
index
:Image Picka/${pageTitle}/${String(index).padStart(3,"0")} - ${name}${ext}
- Slice the filename:
Image Picka/${pageTitle}/${index} - ${name.slice(-6)}${ext}
The expression can access variable methods and global object String
, Number
, and Math
.
If the site displays a thumbnail image, you can transform the URL to its full size URL with this feature, by defining multiple replace rules in the code box. For example:
# baidu
imgsa\.baidu\.com/.+/(\w+\.\w+)$
imgsrc.baidu.com/forum/pic/item/$1
# twitter
pbs\.twimg\.com/media/(.+\.\w+)$
pbs.twimg.com/media/$1:orig
- Each replace rule includes:
- A line of regex.
- A line of replacement.
- Lines starting with
#
are ignored. - Empty lines are ignored.
There are some sites which we don't need to download images from it. The blacklist allows you to disable "Download Single Image" feature (i.e. drag-n-drop, single-click download, and hover button) in specified domains. For example:
example.com
*.example.com
Note that *.example.com
doesn't match https://example.com/
but https://sub.domain.example.com/
.
If you are using a dark theme and the icon color doesn't fit your theme, or the icon is completely transparent, try:
- Set
svg.context-properties.content.enabled
totrue
inabout:config
. - If the config doesn't exist (e.g. in Firefox ESR 52), you have to specify a proper color manually.
Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=1377302
You can help translating the extension by joining Image Picka team on Transifex. If you work on GitHub, you can also send a PR containing messages.json
file, which would be pushed to Transifex after merging.
-
0.8.2 (Aug 10, 2018)
- Fix: the option page is broken on Chrome.
- Fix: grab images from frames is broken on Chrome.
- Add: downloadButtonSize option.
-
0.8.1 (Jun 18, 2018)
- Fix: unable to use context menu on images inside a button.
- Locale: update fr.
-
0.8.0 (Jun 17, 2018)
- Change: use buttons instead of checkboxes in picker UI.
- Add: "Display image size under the thumbnail" option.
-
0.7.7 (Jun 4, 2018)
- Fix: escape leading dots in the filename.
- Fix: convert whitespaces (e.g. tabs, nbsp...) into a single space.
- Fix: the error message becomes
[object Object]
on download error.
-
0.7.6 (May 24, 2018)
- Fix: don't pick images from hidden tabs.
- Update webext-menus.
-
0.7.5 (May 6, 2018)
- Locale: add French translation.
- Locale: update zh-CN.
-
0.7.4 (May 4, 2018)
- Add: download with double click.
- Add: grab images from frames recursively.
-
0.7.3 (Mar 26, 2018)
- Fix: filename error: trailing spaces.
-
0.7.2 (Mar 21, 2018)
- Add: an option to isolate tabs during batch downloads.
-
0.7.1 (Feb 27, 2018)
- Fix: ignore "The download is canceled by the user" error.
- Fix: "Close tabs" option shouldn't close current tab when downloading from only right tabs.
-
0.7.0 (Jan 28, 2018)
- Add: support Chrome. This repository could be loaded as an unpacked extension in Chrome.
- Add: a checkbox to disable "Download Single Image" feature in the context menu of the toolbar button.
- Add: variable
date
anddateString
. - Add: a command to pick from only right tabs. The original command is renamed to "pick from current tab + right tabs".
- Add: subdomain syntax in the domain blacklist.
-
0.6.1 (Dec 29, 2017)
- Add: an option to overwrite old file on filename conflict.
- Add: ability to avaluate simple expression in filename pattern.
- Add: customize the position of the download button.
- Add: an option to blacklist multiple domains so Image Picka won't apply download single image feature on those sites.
- Fix: use extra HTML attributes when downloading single image.
-
0.6.0 (Dec 14, 2017)
- Add: zh-TW, zh-CN translation.
- Add: a counter to show the number of selected/total images in batch download UI.
- Add: options to change the color of toolbar button.
-
0.5.2 (Dec 11, 2017)
- Add: a slider to control the height of image preview in batch download UI.
- Add: an option to use alternative attributes for image URL.
- Fix: catch download error in batch download.
- Fix:
index
is not documented. - Fix: whitespaces surrounding variable should be trimmed.
-
0.5.1 (Dec 4, 2017)
- Fix: sometimes the image picker doesn't load.
-
0.5.0 (Dec 4, 2017)
- Add: copy URLs of selected images in batch download UI.
- Add: filter images according to its file size.
- Add: download images from cache.
- Add: record recently used values for filename pattern and URL match pattern.
- Add: transform URLs with find and replace (uses regular expressions).
- Add: an option to customize default action of toolbar button.
- Add: an option to set max characters in the filename. This limit only applies to variables.
- Add: an option to set default filename, although it is rarely used.
- Fix: context menu is not shown when clicking on an image.
- Fix: permission error is not handled.
- Fix: downloading data URI images may cause memory leak.
-
0.4.0 (Nov 22, 2017)
- Add: Download image with ctrl/shift/alt + click.
- Add: Close tabs after batch download.
- Add: Display image size when hover on the image in batch download.
- Add: Pick images from tabs to the right.
- Fix: Download won't be triggered if the image is dropped outside of the window.
- Improve option page.
-
0.3.2 (Oct 12, 2017)
- Add: saveAs option.
-
0.3.1 (Sep 26, 2017)
- Fix: unable to download dataurl.
-
0.3.0 (Sep 19, 2017)
- Change: use
mouseover
,mouseout
events to replacemousemove
. - Add icon.
- Add toolbar button to pick images.
- Change: use
-
0.2.1 (Sep 10, 2017)
- Fix: escape trailing dots in the filename.
-
0.2.0 (Aug 26, 2017)
- Add: option to enable/disable drag-n-drop.
- Add: show download button on hover.
-
0.1.2 (Aug 25, 2017)
- Fix: env is unavailable inside an iframe.
-
0.1.1 (Aug 25, 2017)
- Fix: use window.top when getting document title.
-
0.1.0
- First release.