├── .eslintrc.yml ├── .github └── ISSUE_TEMPLATE │ ├── bug-report.yml │ ├── config.yml │ ├── new-website.yml │ └── suggestion.yml ├── .github_changelog_generator ├── .gitignore ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── _locales ├── am │ └── messages.json ├── ar │ └── messages.json ├── bg │ └── messages.json ├── bn │ └── messages.json ├── ca │ └── messages.json ├── cs │ └── messages.json ├── da │ └── messages.json ├── de │ └── messages.json ├── el │ └── messages.json ├── en │ └── messages.json ├── es │ └── messages.json ├── et │ └── messages.json ├── fa │ └── messages.json ├── fi │ └── messages.json ├── fil │ └── messages.json ├── fr │ └── messages.json ├── gu │ └── messages.json ├── he │ └── messages.json ├── hi │ └── messages.json ├── hr │ └── messages.json ├── hu │ └── messages.json ├── id │ └── messages.json ├── it │ └── messages.json ├── ja │ └── messages.json ├── kn │ └── messages.json ├── ko │ └── messages.json ├── lt │ └── messages.json ├── lv │ └── messages.json ├── ml │ └── messages.json ├── mr │ └── messages.json ├── ms │ └── messages.json ├── nl │ └── messages.json ├── no │ └── messages.json ├── pl │ └── messages.json ├── pt_BR │ └── messages.json ├── pt_PT │ └── messages.json ├── ro │ └── messages.json ├── ru │ └── messages.json ├── si │ └── messages.json ├── sk │ └── messages.json ├── sl │ └── messages.json ├── sr │ └── messages.json ├── sv │ └── messages.json ├── sw │ └── messages.json ├── ta │ └── messages.json ├── te │ └── messages.json ├── th │ └── messages.json ├── tr │ └── messages.json ├── uk │ └── messages.json ├── vi │ └── messages.json ├── zh_CN │ └── messages.json └── zh_TW │ └── messages.json ├── crowdin.yml ├── css ├── gumby.css ├── spectrum.css └── style.css ├── fonts └── icons │ ├── entypo.eot │ ├── entypo.ttf │ └── entypo.woff ├── html ├── options.html └── popup.html ├── images ├── faq1.png ├── faq2.png ├── faq3a.png ├── faq3b.png ├── faq5.png ├── faq6.png ├── icon128.png ├── icon16.png ├── icon19.png ├── icon19d.png ├── icon19e.png ├── icon32.png ├── icon48.png ├── loading.gif └── spectrogram.png ├── js ├── background.js ├── common.js ├── findMatchingBracket.js ├── gumby.js ├── hls.js ├── hoverzoom.js ├── jquery-3.7.1.js ├── jszip.js ├── options.js ├── plugins.js ├── popup.js ├── spectrum.js ├── tools.js ├── viewTab.js └── viewWindow.js ├── manifest.json ├── package.json ├── plugins ├── 1x.js ├── 2gis.js ├── 3dtotal.js ├── 500px.js ├── 8kun.js ├── 8tracks.js ├── 9gag.js ├── adobestock.js ├── airbnb.js ├── alicdn.js ├── alicdn_a.js ├── allegro.js ├── allocine.js ├── amazon.js ├── aminus3.js ├── anilist.js ├── animepaper.js ├── aol.js ├── apple.js ├── artfol.js ├── artlimited.js ├── artsper.js ├── artstation.js ├── artuk.js ├── ask.js ├── asos.js ├── auscelebs.js ├── avopix.js ├── aws_a.js ├── backpage.js ├── badoo.js ├── baidu.js ├── bakashots.js ├── beautify_it.js ├── bebo.js ├── behance.js ├── bidspotter.js ├── bilibili_a.js ├── bing.js ├── bing_a.js ├── blogcdn.js ├── blogo_it.js ├── blogspot_a.js ├── bluesky.js ├── bluray.js ├── bnf.js ├── boardgamegeek.js ├── booking.js ├── boredpanda.js ├── brave.js ├── canmore.js ├── carrefoursa.js ├── catawiki.js ├── celebs-place.js ├── cgcookie.js ├── cgsociety.js ├── chan_a.js ├── choualbox.js ├── cineserie.js ├── civitai.js ├── clippituser_a.js ├── clips.twitch.js ├── cloudapp_a.js ├── cloudflare_a.js ├── cloudfront_a.js ├── cloudinary_a.js ├── cnet.js ├── copainsdavant.js ├── craigslist.js ├── cyworld.js ├── dailymotion_a.js ├── default.js ├── depositphotos.js ├── derpibooru.js ├── deviantart.js ├── deviantart_a.js ├── diaspora.js ├── digart.js ├── dirty.js ├── douban.js ├── douyin.js ├── douyin_a.js ├── drawcrowd.js ├── dreamstime.js ├── dribbble.js ├── dropbox.js ├── drupal_a.js ├── duckduckgo.js ├── duitang.js ├── e621.js ├── ebay.js ├── ebay_a.js ├── ecranlarge.js ├── eksisozluk.js ├── escapistmagazine.js ├── etejo.js ├── etsy.js ├── events-gallery_ch.js ├── everystockphoto.js ├── facebook.js ├── facebook_a.js ├── fanart.js ├── fandom.js ├── feedly.js ├── fetlife.js ├── figma.js ├── findagrave.js ├── flickr.js ├── flickr_a.js ├── flipkart.js ├── flixster.js ├── focus_a.js ├── fotki.js ├── fotocommunity.js ├── fotolog.js ├── foursquare.js ├── free-images.js ├── freeimagehost.js ├── freeimages.js ├── freepik.js ├── freerangestock.js ├── fubiz.js ├── fukung.js ├── funnyjunk.js ├── furaffinity.js ├── furrynetwork.js ├── galerie-sakura.js ├── galerie9art.js ├── gallery_a.js ├── gameblog.js ├── gamekult.js ├── gamespot.js ├── gawker.js ├── gcsurplus.js ├── geograph.js ├── gettyimages.js ├── gfycat.js ├── gifbin.js ├── giphy.js ├── github.js ├── gitlab.js ├── gmail.js ├── gog.js ├── goodreads.js ├── google.js ├── google_a.js ├── googledrive.js ├── googlesheets.js ├── govdeals.js ├── grailed_a.js ├── gravatar_a.js ├── head-fi.js ├── hejto.js ├── hi5.js ├── hibid.js ├── hiptest.js ├── homeexchange.js ├── huaban.js ├── hupu.js ├── hwzone_il.js ├── image_aspx.js ├── imagebam_a.js ├── imageevent.js ├── imagefap_a.js ├── imageshack_a.js ├── imdb.js ├── imgflip_a.js ├── imgur_a.js ├── inkbunny.js ├── inoreader.js ├── instagram.js ├── instagram_a.js ├── instructables.js ├── ipboard_a.js ├── istockphoto.js ├── itaku_a.js ├── iwara.js ├── jeuxvideo_com.js ├── jeuxvideo_fr.js ├── jike.js ├── joemonster.js ├── jootix.js ├── kenmarcus.js ├── kephost.js ├── kick_a.js ├── kleinanzeigen.js ├── knowyourmeme.js ├── kotnauction.js ├── kununu.js ├── lacroix.js ├── lastfm.js ├── lazygirls_info.js ├── ldlc.js ├── leboncoin_fr.js ├── lemon8.js ├── lemon8_a.js ├── lensdump_a.js ├── letterboxd.js ├── libraryofcongress.js ├── linkedin.js ├── live.js ├── livememe.js ├── liveshare.js ├── lostfilm.js ├── lostfilmtv.js ├── lummi.js ├── maxmodels.js ├── maxsold.js ├── media-amazon_a.js ├── media_a.js ├── mediawiki_a.js ├── medium_a.js ├── meetup.js ├── meiye.js ├── memecrunch.js ├── memedad.js ├── memefive.js ├── memegenerator.js ├── mercadolibre_com_ar.js ├── metmuseum.js ├── miiverse.js ├── minds.js ├── minitokyo.js ├── mobypicture.js ├── moddb.js ├── modelmayhem.js ├── monuments_nationaux.js ├── motherless.js ├── mubi.js ├── musicme.js ├── myanimelist.js ├── myspace.js ├── n11.js ├── nasa.js ├── nature.js ├── naver.js ├── newegg.js ├── nextdoor.js ├── niconico_a.js ├── nintendolife.js ├── nofrag.js ├── okcupid.js ├── omegle_a.js ├── onzemondial.js ├── opendata92.js ├── opendesktop.js ├── oxd_in.js ├── paheal.js ├── panoramio.js ├── pexels.js ├── phapit.js ├── phorio.js ├── photo-forum.js ├── photo_net.js ├── photoblink.js ├── photobucket.js ├── photoforum.js ├── photopost.js ├── photoshop_a.js ├── photosight.js ├── physorg.js ├── pic2me.js ├── picclick.js ├── picsart.js ├── picsarus.js ├── pictmobi.js ├── picturepush.js ├── pikwizard.js ├── pinterest.js ├── pixabay.js ├── pixiv.js ├── pixnet.js ├── play.js ├── plurk.js ├── podcasts_apple.js ├── polona.js ├── prestashop_a.js ├── publicdomainpictures.js ├── quickmeme.js ├── quora.js ├── qwant.js ├── raindrop.js ├── rakuten.js ├── ravelry.js ├── reddit.js ├── redgifs.js ├── rootmusic.js ├── routard.js ├── rule34.js ├── rule34video_a.js ├── safebooru.js ├── screencast_a.js ├── scryfall_a.js ├── sendvid_a.js ├── shein.js ├── skyrock.js ├── skyrock_a.js ├── slickdeals.js ├── smugmug.js ├── sogou.js ├── songkick.js ├── spinchat.js ├── spotify.js ├── squarespace_a.js ├── sspai.js ├── stackoverflow.js ├── startpage.js ├── steam.js ├── stern_de.js ├── stocksnap.js ├── streamable_a.js ├── streaminone_a.js ├── tapas.js ├── tcgplayer_a.js ├── techradar.js ├── temu.js ├── tenor.js ├── themoviedb.js ├── thingiverse.js ├── threadless.js ├── tiktok.js ├── tiktok_a.js ├── tinypic.js ├── tipeee.js ├── tnaflix.js ├── trakttv.js ├── tripadvisor.js ├── tshirthell.js ├── tuchong.js ├── tumblr_a.js ├── twibooru.js ├── twimg.js ├── twitch_a.js ├── twitpic.js ├── twitter.js ├── twitter_a.js ├── uinotes.js ├── unlimphotos.js ├── unsplash.js ├── usarmy.js ├── usbeketrica.js ├── vbulletin_a.js ├── vero.js ├── viedemerde.js ├── viewbug.js ├── vimeo_a.js ├── vine_a.js ├── visualart.js ├── vk.js ├── voxmedia.js ├── vsco.js ├── wallapop.js ├── wallbase_cc.js ├── wallhaven_cc.js ├── wdl.js ├── weasyl.js ├── weheartit.js ├── weibo.js ├── wikifeet.js ├── wildcritters.js ├── windowslive.js ├── wired.js ├── wireimage.js ├── wixstatic_a.js ├── wookmark.js ├── woot.js ├── wordpress_a.js ├── worldatlas.js ├── wretch_cc.js ├── wykop.js ├── wysp.js ├── xhamster_a.js ├── xing.js ├── xuite.js ├── yahoo.js ├── yam.js ├── yandex.js ├── yelp.js ├── yfrog.js ├── yiffer.js ├── ylilauta_a.js ├── you.js ├── youtube_a.js ├── zenfolio.js ├── zhihu.js ├── zing_vn.js └── zinio.js ├── promo ├── 300x300.png ├── 300x300.psd ├── _locales │ ├── am │ │ └── description.txt │ ├── ar │ │ └── description.txt │ ├── bg │ │ └── description.txt │ ├── bn │ │ └── description.txt │ ├── ca │ │ └── description.txt │ ├── cs │ │ └── description.txt │ ├── da │ │ └── description.txt │ ├── de │ │ └── description.txt │ ├── el │ │ └── description.txt │ ├── es │ │ └── description.txt │ ├── et │ │ └── description.txt │ ├── fa │ │ └── description.txt │ ├── fi │ │ └── description.txt │ ├── fil │ │ └── description.txt │ ├── fr │ │ └── description.txt │ ├── gu │ │ └── description.txt │ ├── he │ │ └── description.txt │ ├── hi │ │ └── description.txt │ ├── hr │ │ └── description.txt │ ├── hu │ │ └── description.txt │ ├── id │ │ └── description.txt │ ├── it │ │ └── description.txt │ ├── ja │ │ └── description.txt │ ├── kn │ │ └── description.txt │ ├── ko │ │ └── description.txt │ ├── lt │ │ └── description.txt │ ├── lv │ │ └── description.txt │ ├── ml │ │ └── description.txt │ ├── mr │ │ └── description.txt │ ├── ms │ │ └── description.txt │ ├── nl │ │ └── description.txt │ ├── no │ │ └── description.txt │ ├── pl │ │ └── description.txt │ ├── pt_BR │ │ └── description.txt │ ├── pt_PT │ │ └── description.txt │ ├── ro │ │ └── description.txt │ ├── ru │ │ └── description.txt │ ├── si │ │ └── description.txt │ ├── sk │ │ └── description.txt │ ├── sl │ │ └── description.txt │ ├── sr │ │ └── description.txt │ ├── sv │ │ └── description.txt │ ├── sw │ │ └── description.txt │ ├── ta │ │ └── description.txt │ ├── te │ │ └── description.txt │ ├── th │ │ └── description.txt │ ├── tr │ │ └── description.txt │ ├── uk │ │ └── description.txt │ ├── vi │ │ └── description.txt │ ├── zh_CN │ │ └── description.txt │ └── zh_TW │ │ └── description.txt ├── description.txt ├── large.jpg ├── marquee.jpg ├── screenshot1.png ├── screenshot2.png ├── screenshot3.png ├── screenshot4.png ├── small.jpg └── zoom_in.png ├── release.cmd └── ruleset.json /.eslintrc.yml: -------------------------------------------------------------------------------- 1 | extends: airbnb-base 2 | env: 3 | browser: true 4 | es6: true 5 | jquery: true 6 | 7 | globals: 8 | chrome: true 9 | hoverZoom: true 10 | hoverZoomPlugins: true 11 | options: true 12 | 13 | rules: 14 | indent: ["error", 4] 15 | linebreak-style: "off" 16 | prefer-template: "off" 17 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/new-website.yml: -------------------------------------------------------------------------------- 1 | name: Support a new website 2 | description: Template for new plugin requests 3 | title: '[Website]: ' 4 | labels: 5 | - new plugin request 6 | body: 7 | - type: input 8 | attributes: 9 | label: Website 10 | description: What is the URL of the website that you want supported 11 | validations: 12 | required: true 13 | - type: textarea 14 | attributes: 15 | label: Explanation 16 | description: Describe why you need support for that particular website 17 | validations: 18 | required: true 19 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/suggestion.yml: -------------------------------------------------------------------------------- 1 | name: Feature request 2 | description: Template for feature requests 3 | title: '[Feature]: ' 4 | labels: 5 | - enhancement 6 | body: 7 | - type: textarea 8 | attributes: 9 | label: Description 10 | description: A clear and concise description of your feature request 11 | validations: 12 | required: true 13 | - type: textarea 14 | attributes: 15 | label: Additional context 16 | description: Add any other context or screenshots about the feature request here 17 | -------------------------------------------------------------------------------- /.github_changelog_generator: -------------------------------------------------------------------------------- 1 | user=extesy 2 | project=hoverzoom 3 | unreleased=true 4 | since-tag=1.0.152 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .gitignore support plugin (hsz.mobi) 2 | 3 | ### JetBrains template 4 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm 5 | 6 | ## Directory-based project format 7 | .idea/ 8 | /*.iml 9 | # if you remove the above rule, at least ignore user-specific stuff: 10 | # .idea/workspace.xml 11 | # .idea/tasks.xml 12 | # .idea/dictionaries 13 | # and these sensitive or high-churn files: 14 | # .idea/dataSources.ids 15 | # .idea/dataSources.xml 16 | # .idea/sqlDataSources.xml 17 | # .idea/dynamic.xml 18 | # and, if using gradle:: 19 | # .idea/gradle.xml 20 | # .idea/libraries 21 | 22 | ## File-based project format 23 | *.ipr 24 | *.iws 25 | 26 | ## Additional for IntelliJ 27 | out/ 28 | 29 | # generated by mpeltonen/sbt-idea plugin 30 | .idea_modules/ 31 | 32 | # generated by JIRA plugin 33 | atlassian-ide-plugin.xml 34 | 35 | # generated by Crashlytics plugin (for Android Studio and Intellij) 36 | com_crashlytics_export_strings.xml 37 | 38 | # npm modules 39 | node_modules/ 40 | 41 | # Vale text linter 42 | .vale.ini 43 | .vale-styles 44 | 45 | _metadata 46 | web-ext-artifacts 47 | hoverzoom.zip 48 | .vscode 49 | .package-lock.json 50 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014-2025 Oleg Anashkin 2 | Copyright (c) 2012 Romain Vallet 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /crowdin.yml: -------------------------------------------------------------------------------- 1 | files: 2 | - source: /_locales/en/*.json 3 | translation: /_locales/%two_letters_code%/%original_file_name% 4 | - source: /promo/description.txt 5 | translation: /promo/_locales/%two_letters_code%/%original_file_name% 6 | -------------------------------------------------------------------------------- /fonts/icons/entypo.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/fonts/icons/entypo.eot -------------------------------------------------------------------------------- /fonts/icons/entypo.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/fonts/icons/entypo.ttf -------------------------------------------------------------------------------- /fonts/icons/entypo.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/fonts/icons/entypo.woff -------------------------------------------------------------------------------- /images/faq1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/images/faq1.png -------------------------------------------------------------------------------- /images/faq2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/images/faq2.png -------------------------------------------------------------------------------- /images/faq3a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/images/faq3a.png -------------------------------------------------------------------------------- /images/faq3b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/images/faq3b.png -------------------------------------------------------------------------------- /images/faq5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/images/faq5.png -------------------------------------------------------------------------------- /images/faq6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/images/faq6.png -------------------------------------------------------------------------------- /images/icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/images/icon128.png -------------------------------------------------------------------------------- /images/icon16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/images/icon16.png -------------------------------------------------------------------------------- /images/icon19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/images/icon19.png -------------------------------------------------------------------------------- /images/icon19d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/images/icon19d.png -------------------------------------------------------------------------------- /images/icon19e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/images/icon19e.png -------------------------------------------------------------------------------- /images/icon32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/images/icon32.png -------------------------------------------------------------------------------- /images/icon48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/images/icon48.png -------------------------------------------------------------------------------- /images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/images/loading.gif -------------------------------------------------------------------------------- /images/spectrogram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/images/spectrogram.png -------------------------------------------------------------------------------- /js/viewTab.js: -------------------------------------------------------------------------------- 1 | chrome.runtime.sendMessage({action:'getOptions'}, function (options) { 2 | window.addEventListener('keydown', function (event) { 3 | if (event.which === options.openImageInTabKey) { 4 | window.close(); 5 | } 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hoverzoom-plus", 3 | "version": "1.0.0", 4 | "description": "Hover Zoom+", 5 | "main": "js/hoverzoom.js", 6 | "scripts": { 7 | "build": "zip -r hoverzoom.zip _locales/ar _locales/bg _locales/de _locales/en _locales/es _locales/fa _locales/fr _locales/hi _locales/hr _locales/hu _locales/id _locales/it _locales/ja _locales/ko _locales/nl _locales/no _locales/pl _locales/pt_BR _locales/pt_PT _locales/ru _locales/sv _locales/th _locales/tr _locales/zh_CN css fonts html images js plugins LICENSE manifest.json", 8 | "firefox": "web-ext run --source-dir ./" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "git+https://github.com/extesy/hoverzoom.git" 13 | }, 14 | "author": "Oleg Anashkin", 15 | "license": "MIT", 16 | "bugs": { 17 | "url": "https://github.com/extesy/hoverzoom/issues" 18 | }, 19 | "homepage": "https://github.com/extesy/hoverzoom#readme", 20 | "devDependencies": { 21 | "eslint": "^7.18.0", 22 | "eslint-config-airbnb-base": "^14.2.1", 23 | "eslint-plugin-import": "^2.22.1", 24 | "web-ext": "^7.6.2" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /plugins/2gis.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'2gis', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | 7 | var res = []; 8 | 9 | // page with samples: https://2gis.ru/orenburg?m=55.128792%2C51.760619%2F13.23&layer=photos 10 | // thumbnail: https://i.photo.2gis.com/images/branch/48/6755399466628955_a374_128x128.jpg 11 | // fullsize: https://i.photo.2gis.com/images/branch/48/6755399466628955_a374.jpg 12 | hoverZoom.urlReplace(res, 13 | 'img[src], [style*="url"]', 14 | /_\d+x\d+/, 15 | '' 16 | ); 17 | 18 | callback($(res), this.name); 19 | } 20 | }); -------------------------------------------------------------------------------- /plugins/8kun.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'8kun', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | 7 | var res = []; 8 | 9 | // sample: https://media.8kun.top/file_store/thumb/b5edd64bec096b5e5bedce034c7c374a6ce6f5af87e760a5899a3c29a09b228b.png 10 | // -> https://media.8kun.top/file_store/b5edd64bec096b5e5bedce034c7c374a6ce6f5af87e760a5899a3c29a09b228b.png 11 | 12 | $('img[src*="thumb"]').filter(function() { return ! /\.jpe?g|\.png|\.gif|\.mp4|\.webm|\.webp/.test($(this).parent()[0].href) }).each(function() { 13 | 14 | var img = this, _img = $(img); 15 | var urls = []; 16 | 17 | let url = undefined; 18 | url = img.src.replace('/thumb/', '/'); 19 | if (url != img.src) { 20 | urls.push(url); 21 | } 22 | 23 | if (urls.length) { 24 | _img.data().hoverZoomSrc = urls; 25 | res.push(_img); 26 | } 27 | }); 28 | 29 | callback($(res), this.name); 30 | } 31 | }); -------------------------------------------------------------------------------- /plugins/8tracks.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'8tracks', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | $('img[src*=".sq"], img[src*=".max"]').each(function () { 8 | var img = $(this), 9 | url = img.attr('src'), 10 | urls = [], 11 | search = /\.(sq|max)\d+\.jpg/; 12 | urls.push(url.replace(search, '.original.jpg')); 13 | urls.push(url.replace(search, '.original.png')); 14 | if (url.indexOf('.max200') == -1) 15 | urls.push(url.replace(search, '.max200.jpg')); 16 | img.data().hoverZoomSrc = urls; 17 | img.data().hoverZoomCaption = img.attr('alt'); 18 | res.push(img); 19 | }); 20 | callback($(res), this.name); 21 | } 22 | }); 23 | -------------------------------------------------------------------------------- /plugins/9gag.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name: '9gag', 4 | version: '0.1', 5 | prepareImgLinks: function(callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img[src^="https://accounts-cdn.9gag.com/"]', 9 | /^(.*)_100_(\d+)\.([a-z]+)$/, 10 | '$1_800_$2.$3' 11 | ); 12 | hoverZoom.urlReplace(res, 13 | 'img[src^="https://img-9gag-fun.9cache.com/"]', 14 | /^(.*)_460s\.([a-z]+)$/, 15 | '$1_700b.$2' 16 | ); 17 | callback($(res), this.name); 18 | } 19 | }); 20 | -------------------------------------------------------------------------------- /plugins/adobestock.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'adobestock.com', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img[src]', 9 | ['/240_F', '/500_F'], 10 | ['/1000_F', '/1000_F'] 11 | ); 12 | 13 | callback($(res), this.name); 14 | } 15 | }); -------------------------------------------------------------------------------- /plugins/airbnb.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'airbnb', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | //sample url: https://a0.muscache.com/im/pictures/user/3c01295d-fb10-40aa-a7d2-cdaf373cc886.jpg?im_w=240 9 | // -> https://a0.muscache.com/im/pictures/user/3c01295d-fb10-40aa-a7d2-cdaf373cc886.jpg 10 | var regex1 = /im_w=([^&*]{1,})(&?.*)/; 11 | var patch1 = '$2'; 12 | 13 | //sample url: https://a0.muscache.com/im/pictures/4a150531-75c6-4480-86c6-7efa8b98324f.jpg?aki_policy=large&size=100 14 | // -> https://a0.muscache.com/im/pictures/4a150531-75c6-4480-86c6-7efa8b98324f.jpg?aki_policy=xx_large 15 | var regex2 = /aki_policy=([^&*]{1,})(&?.*)/; 16 | var patch2 = 'aki_policy=xx_large$2'; 17 | 18 | 19 | hoverZoom.urlReplace(res, 20 | 'img[src]', 21 | [regex1, regex2], 22 | [patch1, patch2] 23 | ); 24 | 25 | callback($(res), this.name); 26 | } 27 | }); 28 | -------------------------------------------------------------------------------- /plugins/alicdn.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'alicdn', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img[src*=".jpg_"]', 9 | /jpg_.*/, 10 | 'jpg' 11 | ); 12 | hoverZoom.urlReplace(res, 13 | 'img[src*=".png_"]', 14 | /png_.*/, 15 | 'png' 16 | ); 17 | // Add space to url so that the thumbURL isn't seen as equal, 18 | // which would cause the image to be skipped 19 | /*hoverZoom.urlReplace(res, 20 | 'img[src*=".jpg"]', 21 | /jpg/, 22 | 'jpg ' 23 | ); 24 | hoverZoom.urlReplace(res, 25 | 'img[src*=".png"]', 26 | /png/, 27 | 'png ' 28 | );*/ 29 | callback($(res), this.name); 30 | } 31 | }); 32 | -------------------------------------------------------------------------------- /plugins/allegro.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'allegro', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | // sample: https://a.allegroimg.com/s400/11049a/8b38bd754b988b3a915534aabd7d/Sram-Apex-4x10s-klamkomanetki-szosa-komplet 9 | // original: https://a.allegroimg.com/original/11049a/8b38bd754b988b3a915534aabd7d/Sram-Apex-4x10s-klamkomanetki-szosa-komplet 10 | hoverZoom.urlReplace(res, 11 | 'img[src],[style*="url"]', 12 | /\/s\d+.*?\//, 13 | '/original/' 14 | ); 15 | 16 | if (res.length) { 17 | callback($(res), this.name); 18 | } 19 | } 20 | }); 21 | -------------------------------------------------------------------------------- /plugins/aminus3.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'aminus3.com', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src]', 10 | ['_small.', '_large.', '_thumb.', '_index.', '_burst.'], 11 | ['_giant.', '_giant.', '_giant.', '_giant.', '_giant.'] 12 | ); 13 | 14 | callback($(res), this.name); 15 | } 16 | }); -------------------------------------------------------------------------------- /plugins/animepaper.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Anime Paper', 4 | prepareImgLinks:function (callback) { 5 | var res = []; 6 | hoverZoom.urlReplace(res, 7 | 'img[src*="/thumbnails/"]', 8 | /(?:standard|box)\/(small|medium|large|minute)\/(.*)_\1(.*)/, 9 | 'preview\/$2_preview$3' 10 | ); 11 | hoverZoom.urlReplace(res, 12 | 'img[src*="/user/"]', 13 | /\/\d{2}\//, 14 | '/140/' 15 | ); 16 | callback($(res), this.name); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /plugins/artfol.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'artfol.co', 4 | version:'0.1', 5 | 6 | prepareImgLinks: function (callback) { 7 | const res = []; 8 | 9 | $('a[href*="a/"][title]:not(.hoverZoomMouseover)').each(function() { 10 | let img = $(this); 11 | let src = img[0].innerHTML.match(/\/medium(.*\.jpg)/)[1]; 12 | 13 | img.data().hoverZoomSrc = ['https://www.artfol-image.me' + src]; 14 | res.push(img); 15 | }); 16 | 17 | callback($(res), this.name); 18 | } 19 | }); 20 | -------------------------------------------------------------------------------- /plugins/artlimited.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'artlimited.net', 4 | version:'0.3', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src]', 10 | ['_s', '_m', '-medium-', '-small-'], 11 | ['', '', '-large-', '-large-'] 12 | ); 13 | callback($(res), this.name); 14 | } 15 | }); -------------------------------------------------------------------------------- /plugins/artsper.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'artsper.com', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src]', 10 | ['_p.', '_s.', '_m.', '_f.', '_grid.'], 11 | ['_l.', '_l.', '_l.', '_l.', '_l.'] 12 | ); 13 | 14 | callback($(res), this.name); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /plugins/artstation.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'artstation.com', 4 | version:'0.2', 5 | 6 | prepareImgLinks: function (callback) { 7 | const res = []; 8 | hoverZoom.urlReplace(res, 9 | 'img[src]', 10 | /(\/[^0-9]*\/\d+\/\d+\/\d+\/)(\d+\/)?(small|smaller_square|small_square|micro_square|medium|medium_wide|default)\//, 11 | '$1original/', 12 | 'a' 13 | ); 14 | 15 | hoverZoom.urlReplace(res, 16 | 'img[src]', 17 | /(\/[^0-9]*\/\d+\/\d+\/\d+\/)(\d+\/)?(small|smaller_square|small_square|micro_square|medium|medium_wide|default)\//, 18 | '$1large/', 19 | 'a' 20 | ); 21 | 22 | callback($(res), this.name); 23 | } 24 | }); 25 | -------------------------------------------------------------------------------- /plugins/artuk.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Art UK', 4 | version:'2.0', 5 | favicon:'artuk.png', 6 | prepareImgLinks:function (callback) { 7 | 8 | var res = []; 9 | 10 | $('div.credit').each(function () { 11 | $(this).css("pointer-events", "none"); 12 | }); 13 | 14 | hoverZoom.urlReplace(res, 15 | 'img[src]', 16 | /w\d+(?:h\d+)?(.*)/, 17 | 'w800h800$1?' 18 | ); 19 | 20 | hoverZoom.urlReplace(res, 21 | 'img[src]', 22 | /w\d+(?:h\d+)?(.*)/, 23 | 'w1200h1200$1?' 24 | ); 25 | 26 | callback($(res), this.name); 27 | } 28 | }); -------------------------------------------------------------------------------- /plugins/ask.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Ask.fm', 4 | prepareImgLinks:function (callback) { 5 | var res = []; 6 | $('a[data-action="ImageOpen"] img, a[style^="background-image"').each(function () { 7 | var img = $(this), 8 | src = hoverZoom.getThumbUrl(this); 9 | src = src. 10 | replace(/(original)|(thumb_big)|(thumb)|(normal)/, 'large').split('"').join(''); 11 | img.data('hoverZoomSrc', [src]); 12 | 13 | res.push(img); 14 | }); 15 | callback($(res), this.name); 16 | } 17 | }); 18 | -------------------------------------------------------------------------------- /plugins/asos.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Asos.com', 4 | version:'0.2', 5 | favicon:'asos.svg', 6 | prepareImgLinks:function (callback) { 7 | var res = []; 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="/inv/"]', 10 | /image(\d+)[ls]\.jpg/, 11 | 'image$1xxl.jpg' 12 | ); 13 | hoverZoom.urlReplace(res, 14 | 'img[src*="_small."], img[src*="_medium."], img[src*="_large."], img[src*="_threeacross."]', 15 | /_(small|medium|large|threeacross)\./, 16 | '_huge.' 17 | ); 18 | hoverZoom.urlReplace(res, 19 | 'img[src*="icon_"], img[src*="small_"], img[src*="medium_"]', 20 | /(icon|small|medium)_(\d+_)?/, 21 | 'large_' 22 | ); 23 | hoverZoom.urlReplace(res, 24 | 'img[src]', 25 | /(\?.*)/, 26 | '?wid=3000&fit=constrain' 27 | ); 28 | callback($(res), this.name); 29 | } 30 | }); -------------------------------------------------------------------------------- /plugins/auscelebs.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'auscelebs', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | 7 | var res = []; 8 | 9 | // thumbnail: https://forums.auscelebs.net/acnet-images/99737/thumbs/abbie-chatfield-1517686.jpg 10 | // fullsize: https://forums.auscelebs.net/acnet-images/99737/abbie-chatfield-1517686.jpg 11 | hoverZoom.urlReplace(res, 12 | 'img[src*="/thumbs/"]', 13 | '/thumbs/', 14 | '/' 15 | ); 16 | 17 | callback($(res), this.name); 18 | } 19 | }); 20 | -------------------------------------------------------------------------------- /plugins/avopix.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'avopix.com', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | 7 | var res = []; 8 | 9 | hoverZoom.urlReplace(res, 10 | 'img[src]', 11 | '/list/l_', 12 | '/detail/d_' 13 | ); 14 | 15 | callback($(res), this.name); 16 | } 17 | }); 18 | -------------------------------------------------------------------------------- /plugins/aws_a.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'AWS_a', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="s3.amazonaws.com"],[style*="s3.amazonaws.com"]', 10 | /\?(crop|resize|fill).*/, 11 | '' 12 | ); 13 | 14 | callback($(res), this.name); 15 | } 16 | }); -------------------------------------------------------------------------------- /plugins/backpage.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Backpage.com', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'a img', 9 | /\/(medium|small)\//, 10 | '/large/' 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/bakashots.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'bakashots.me', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src]', 10 | '.lth', 11 | '' 12 | ); 13 | 14 | callback($(res), this.name); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /plugins/beautify_it.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'beautify.it', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'a img.photo', 9 | /^.*src=\.(.*)&.*/, 10 | '$1' 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/bebo.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Bebo', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | $('img[src*="/small/"], img[src*="/medium/"], img[src*="/mediuml/"]').each(function () { 8 | var url, 9 | img = $(this), 10 | link = $(this.parentElement).find('a[href*="/large/"]'); 11 | if (link.length) { 12 | url = link.attr('href'); 13 | } else { 14 | url = this.src.replace(/\/(small|medium|mediuml)\//, '/large/').replace(/(s|m|ml)\./, 'l.'); 15 | } 16 | img.data().hoverZoomSrc = [url]; 17 | res.push(img); 18 | }); 19 | callback($(res), this.name); 20 | } 21 | }); 22 | -------------------------------------------------------------------------------- /plugins/bing_a.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Bing_a', 4 | version:'0.5', 5 | prepareImgLinks:function (callback) { 6 | 7 | // skip some search engines 8 | if (window.location.host.indexOf('you.com') != -1) return; // skip You.com 9 | if (window.location.host.indexOf('ecosia.org') != -1) return; // skip Ecosia.org 10 | 11 | var res = []; 12 | 13 | //sample url: https://tse4.mm.bing.net/th?id=OIP.ucx89ZiJ_w5UyMlqoJQ5uQHaLB&pid=Api&P=0&w=300&h=300 14 | // -> https://tse4.mm.bing.net/th?id=OIP.ucx89ZiJ_w5UyMlqoJQ5uQHaLB 15 | var regex = /(.*)\?(.*?)&.*/; 16 | var patch = '$1?$2'; 17 | 18 | hoverZoom.urlReplace(res, 19 | 'img[src*="bing.net/th?"]', 20 | regex, 21 | patch 22 | ); 23 | 24 | callback($(res), this.name); 25 | } 26 | }); 27 | -------------------------------------------------------------------------------- /plugins/blogcdn.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'BlogCdn', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img[src*="blogcdn.com"]', 9 | [/_\d+x\d+\./, '_thumbnail'], 10 | ['.', ''] 11 | ); 12 | hoverZoom.urlReplace(res, 'img[src]', /(http.*)(http.*)/ , '$2'); 13 | callback($(res), this.name); 14 | } 15 | }); 16 | -------------------------------------------------------------------------------- /plugins/blogo_it.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Blogo.it', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | 7 | var res = []; 8 | 9 | hoverZoom.urlReplace(res, 'img[src*="/thn_"]', 'thn_', 'big_'); 10 | 11 | hoverZoom.urlReplace(res, 'img[src]', /(http.*)(http.*)/ , '$2'); 12 | 13 | $('img[srcset]:not([src])').each(function () { 14 | 15 | let link = $(this); 16 | let srcset = link.prop('srcset'); 17 | let fullsizeUrl = srcset.replace(/(http.*)(http.*)( .*)/, '$2'); 18 | if (fullsizeUrl != srcset) { 19 | if (link.data().hoverZoomSrc == undefined) { link.data().hoverZoomSrc = [] } 20 | if (link.data().hoverZoomSrc.indexOf(fullsizeUrl) == -1) { 21 | link.data().hoverZoomSrc.unshift(fullsizeUrl); 22 | res.push(link); 23 | } 24 | } 25 | }); 26 | 27 | callback($(res), this.name); 28 | } 29 | }); 30 | -------------------------------------------------------------------------------- /plugins/blogspot_a.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name: 'Blogspot.com', 4 | version: '0.2', 5 | prepareImgLinks(callback) { 6 | const res = []; 7 | const filter_a = 'a img[src*=".blogspot.com"]'; 8 | const filter_i = 'img[src*=".blogspot.com"]'; 9 | const search = /\/s\d+(-[ch])?\//; 10 | 11 | hoverZoom.urlReplace(res, filter_a, search, '/s800/'); 12 | hoverZoom.urlReplace(res, filter_i, search, '/s800/'); 13 | if (options.showHighRes) { 14 | hoverZoom.urlReplace(res, filter_a, search, '/s0/'); 15 | hoverZoom.urlReplace(res, filter_i, search, '/s0/'); 16 | } 17 | 18 | callback($(res), this.name); 19 | }, 20 | }); 21 | -------------------------------------------------------------------------------- /plugins/bluesky.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push( { 3 | name: 'bluesky_a', 4 | version: '1.0', 5 | prepareImgLinks: function(callback) { 6 | const name = this.name; 7 | var res = []; 8 | 9 | // https://bsky.app/profile/nilbog3000.bsky.social 10 | // sample: https://cdn.bsky.app/img/feed_thumbnail/plain/did:plc:y7uaje2eyoamgdh7ie7zko6i/bafkreiargh3ss4az2s27xmo2lpfbdvqkfqxfyapfnbagdq57frfz3qlz4e@jpeg 11 | // fullsize: https://cdn.bsky.app/img/feed_fullsize/plain/did:plc:y7uaje2eyoamgdh7ie7zko6i/bafkreiargh3ss4az2s27xmo2lpfbdvqkfqxfyapfnbagdq57frfz3qlz4e@jpeg 12 | hoverZoom.urlReplace(res, 13 | 'img[src*="cdn.bsky.app/img/feed_thumbnail/"], img[src*="cdn.bsky.app/img/banner/"], img[src*="cdn.bsky.app/img/avatar/"]', 14 | ['/feed_thumbnail/', '/banner/', '/avatar/'], 15 | ['/feed_fullsize/', '/feed_fullsize/', '/feed_fullsize/'] 16 | ); 17 | 18 | callback($(res), name); 19 | } 20 | }); 21 | -------------------------------------------------------------------------------- /plugins/bluray.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Bluray', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img[src*="/covers/"]', 9 | /(large|medium|small)/, 10 | 'front' 11 | ); 12 | hoverZoom.urlReplace(res, 13 | 'img[src*="_tn."]', 14 | '_tn.', 15 | '_large.' 16 | ); 17 | callback($(res), this.name); 18 | } 19 | }); 20 | -------------------------------------------------------------------------------- /plugins/boredpanda.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'boredpanda', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | // sample: https://static.boredpanda.com/blog/wp-content/uploads/2020/05/5eb14ca75feb8__30.jpg 9 | // zoomed: https://static.boredpanda.com/blog/wp-content/uploads/2020/05/5eb14ca75feb8.jpg 10 | hoverZoom.urlReplace(res, 11 | 'img[src]', 12 | /__.*\./, 13 | '.' 14 | ); 15 | 16 | if (res.length) { 17 | callback($(res), this.name); 18 | } 19 | } 20 | }); 21 | -------------------------------------------------------------------------------- /plugins/canmore.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'canmore', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src], [style*="url"]', 10 | /\/.\//, 11 | '/l/' 12 | ); 13 | 14 | callback($(res), this.name); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /plugins/carrefoursa.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Carrefour SA', 4 | prepareImgLinks:function (callback) { 5 | var res = []; 6 | hoverZoom.urlReplace(res, 7 | 'img[src*="/mnresize/"]', 8 | /\/mnresize\/\d+\/\d+\//, 9 | options.showHighRes ? '/' : '/mnresize/1000/1000/' 10 | ); 11 | callback($(res), this.name); 12 | } 13 | }); 14 | -------------------------------------------------------------------------------- /plugins/catawiki.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'catawiki', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | // sample: https://cdn.catawiki.net/image/pr:cw_crop/w:98/h:76/sh:0.7/plain/assets/catawiki/assets/2021/5/15/6/9/6/696de2d5-5a9b-4a3d-9639-e878b25d418f.jpg 9 | // original: https://assets.catawiki.nl/assets/2021/5/15/6/9/6/696de2d5-5a9b-4a3d-9639-e878b25d418f.jpg 10 | hoverZoom.urlReplace(res, 11 | 'img[src],[style*="url"]', 12 | /(.*catawiki\/assets\/)(.*$)/, 13 | 'https://assets.catawiki.nl/assets/$2' 14 | ); 15 | 16 | // sample: https://assets.catawiki.nl/assets/2021/8/15/c/8/8/thumb5_c88fbb66-7096-4612-9756-1f6a7f935581.jpg 17 | // original: https://assets.catawiki.nl/assets/2021/8/15/c/8/8/c88fbb66-7096-4612-9756-1f6a7f935581.jpg 18 | hoverZoom.urlReplace(res, 19 | 'img[src],[style*="url"]', 20 | /\/thumb.*?_/, 21 | '/' 22 | ); 23 | 24 | if (res.length) { 25 | callback($(res), this.name); 26 | } 27 | } 28 | }); 29 | -------------------------------------------------------------------------------- /plugins/celebs-place.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push( { 3 | name: 'celebs-place', 4 | version: '1.0', 5 | prepareImgLinks: function(callback) { 6 | var res = []; 7 | 8 | // sample: https://celebs-place.com/cache/gallery/50cent/art_of_elysium_red_c-47-gthumb-ghdata240.jpg 9 | // fullsize: https://celebs-place.com/gallery/50cent/art_of_elysium_red_c-47.jpg 10 | hoverZoom.urlReplace(res, 11 | 'img[src*="cache"]', 12 | /\/cache\/(.*)-gthumb.*/, 13 | '/$1.jpg' 14 | ); 15 | 16 | callback($(res), this.name); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /plugins/cgcookie.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'cgcookie.com', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="cgcookie"]', 10 | /(.*)-(\d+)x(\d+)\./, 11 | '$1.' 12 | ); 13 | 14 | hoverZoom.urlReplace(res, 15 | 'div[style*="background"]', 16 | /(.*)-(\d+)x(\d+)\./, 17 | '$1.' 18 | ); 19 | 20 | callback($(res), this.name); 21 | } 22 | }); 23 | -------------------------------------------------------------------------------- /plugins/choualbox.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Choualbox', 4 | prepareImgLinks:function (callback) { 5 | var res = []; 6 | hoverZoom.urlReplace(res, 'img[src*="/Img_resize/"]', 'Img_resize', 'Img'); 7 | hoverZoom.urlReplace(res, 'img[src*="/mini.php"]', /\/mini\.php\?src=(.*?)&.*/, '$1'); 8 | callback($(res), this.name); 9 | } 10 | }); 11 | -------------------------------------------------------------------------------- /plugins/civitai.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push( { 3 | name: 'Civit AI', 4 | version: '1.0', 5 | prepareImgLinks: function(callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="//image.civitai.com/"]', 10 | /width=\d+/, 11 | 'original=true,quality=90' 12 | ); 13 | 14 | callback($(res), this.name); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /plugins/clippituser_a.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name: 'clippituser.tv', 4 | prepareImgLinks: function () { 5 | if (!options.zoomVideos) return; 6 | $('a[href*="//clippituser.tv/"], a[href*="//www.clippituser.tv/"]').one('mouseenter', function () { 7 | hoverZoom.prepareFromDocument($(this), this.href, function(doc) { 8 | // The document might have a video, but might also just have a loading 9 | // container with data attributes referencing the video source 10 | var video = doc.querySelector('video'); 11 | if (video) { 12 | return video.getAttribute('src'); 13 | } 14 | 15 | var player = doc.getElementById('jwplayer-container'); 16 | if (player) { 17 | return player.getAttribute('data-hd-file') || player.getAttribute('data-sd-file'); 18 | } 19 | }); 20 | }); 21 | } 22 | }); 23 | -------------------------------------------------------------------------------- /plugins/clips.twitch.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'clips.twitch.tv', 4 | prepareImgLinks:function (callback) { 5 | $('a[href*="clips.twitch.tv/"]').one('mouseenter', function() { 6 | if(!options.zoomVideos) return; 7 | var slug = this.href.replace(/.*clips.twitch.tv\/([\w-]+)/, '$1'); 8 | hoverZoom.prepareFromDocument($(this), 'https://clips.twitch.tv/' + slug, function (doc) { 9 | var twitterImg = doc.head.querySelector('meta[name="twitter:image"]'); 10 | if (twitterImg) { 11 | return twitterImg.content.replace('-social-preview.jpg', '.mp4'); 12 | } 13 | }); 14 | }); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /plugins/cloudapp_a.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'CloudApp', 4 | prepareImgLinks:function (callback) { 5 | var res = [] 6 | hoverZoom.urlReplace(res, 7 | 'a[href*="/share\.getcloudapp\.com/"]', 8 | /.*(?:share\.getcloudapp\.com)\/(?:items\/)*([^\/]+).*/, 9 | 'https://share.getcloudapp.com/items/$1/download' 10 | ); 11 | hoverZoom.urlReplace(res, 12 | 'a[href*="/cl\.ly/"]', 13 | /.*(?:cl\.ly)\/((?!download)[^\/]+).*/, 14 | 'https://cl.ly/$1/download' 15 | ); 16 | callback($(res), this.name); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /plugins/cnet.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'CNET', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = [], 7 | filter1 = /^(.*)_\d+x\d+\.(jpg|png|gif).*$/i, 8 | //filter2 = /^(.*\/cnwk\..*\/\d+-\d+)-\d+-(.*)\.(jpg|png|gif).*$/i, 9 | imgs = $('a img[src*="i.com.com"]'); 10 | 11 | imgs.each(function () { 12 | var img = $(this), 13 | src = img.attr('src'), 14 | link = img.parents('a:eq(0)'); 15 | if (src.match(filter1)) { 16 | src = src.replace(filter1, '$1.$2'); 17 | link.data().hoverZoomSrc = [src]; 18 | } 19 | /*else if (src.match(filter2)) { 20 | var srcs = [src.replace(filter2, '$1-440-$2.$3'), 21 | src.replace(filter2, '$1-200-$2.$3'), 22 | src.replace(filter2, '$1-160-$2.$3')]; 23 | link.data().hoverZoomSrc = srcs; 24 | }*/ 25 | res.push(link); 26 | }); 27 | 28 | callback($(res), this.name); 29 | } 30 | }); 31 | -------------------------------------------------------------------------------- /plugins/craigslist.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Craigslist', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | $('span.ih[id^="images:"] ~ a').each(function () { 9 | var link = $(this); 10 | link.data().hoverZoomSrc = ['http://images.craigslist.org/' + link.siblings('span.ih').attr('id').substr(7)]; 11 | res.push(link); 12 | }); 13 | 14 | hoverZoom.urlReplace(res, 15 | 'img[src]', 16 | ['_300x300', '_600x450', '_50x50c'], 17 | ['_1200x900', '_1200x900', '_1200x900'] 18 | ); 19 | 20 | callback($(res), this.name); 21 | } 22 | }); -------------------------------------------------------------------------------- /plugins/cyworld.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Cyworld', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img[src*="thumb.cyworld.com"]', 9 | /.+(http:.*)/, 10 | '$1' 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/derpibooru.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'derpibooru.org', 4 | version:'1.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src]', 10 | ['/small.', '/thumb.', '/thumb_tiny.'], 11 | ['/large.', '/large.', '/large.'] 12 | ); 13 | 14 | hoverZoom.urlReplace(res, 15 | 'img[src]', 16 | ['/small.', '/thumb.', '/thumb_tiny.'], 17 | ['/full.', '/full.', '/full.'] 18 | ); 19 | 20 | callback($(res), this.name); 21 | } 22 | }); -------------------------------------------------------------------------------- /plugins/deviantart_a.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'deviantART_a', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | if (location.host.indexOf('deviantart.com') !== -1) 7 | return; 8 | 9 | $('a[href*=".deviantart.com/art/"], a[href^="http://fav.me/"]').one('mouseenter', function () { 10 | hoverZoom.prepareOEmbedLink(this, 'https://backend.deviantart.com/oembed?url=', this.href); 11 | }); 12 | } 13 | }); 14 | -------------------------------------------------------------------------------- /plugins/diaspora.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Diaspora', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img[src*="/thumb_"]', 9 | /thumb_[^_]+_/, 10 | '' 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/digart.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'DigArt', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img[src*="digart.img.digart.pl"]', 9 | /(miniaturki|SQmin)(\d+)/, 10 | 'download' 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/drawcrowd.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'drawcrowd.com', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img[src]', 9 | ['/small/', '/medium/'], 10 | ['/large/', '/large/'] 11 | ); 12 | 13 | callback($(res), this.name); 14 | } 15 | }); 16 | -------------------------------------------------------------------------------- /plugins/dreamstime.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'dreamstime.com', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="dreamstime"]', 10 | ['/m/', '/s/', '/t/', '/x/'], 11 | ['/z/', '/z/', '/z/', '/z/'] 12 | ); 13 | 14 | callback($(res), this.name); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /plugins/dropbox.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Dropbox', 4 | prepareImgLinks:function (callback) { 5 | var res = []; 6 | $('a[href]').filter(function () { 7 | return this.href.match(/\.(?:jpe?g|gif|png|svg|webp|bmp|ico|xbm)$/i); 8 | }).each(function () { 9 | var _this = $(this); 10 | _this.data().hoverZoomSrc = [this.href.replace('//www.', '//dl.')]; 11 | res.push(_this); 12 | }); 13 | callback($(res), this.name); 14 | } 15 | }); 16 | -------------------------------------------------------------------------------- /plugins/duitang.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Duitang', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | // sample: https://c-ssl.duitang.com/uploads/blog/202103/13/20210313143250_83033.thumb.300_300_c.jpg 9 | // -> https://c-ssl.duitang.com/uploads/blog/202103/13/20210313143250_83033.jpg 10 | 11 | hoverZoom.urlReplace(res, 12 | 'img[src],[style*=url]', 13 | /\.thumb.*\./, 14 | '.' 15 | ); 16 | 17 | callback($(res), this.name); 18 | } 19 | }); 20 | -------------------------------------------------------------------------------- /plugins/ebay_a.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'eBay_a', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | // sample: https://i.ebayimg.com/00/s/NjgzWDEwMjQ=/z/oIAAAOSw2xRYhceC/$_2.JPG 9 | // -> https://i.ebayimg.com/00/s/NjgzWDEwMjQ=/z/oIAAAOSw2xRYhceC/$_32.JPG 10 | hoverZoom.urlReplace(res, 11 | 'img[src*="ebayimg"],[style*="ebayimg"]', 12 | /\$_\d+/, 13 | '$_32' 14 | ); 15 | 16 | // sample: https://i.ebayimg.com/images/g/SDwAAOSw9vdgOLBv/s-l500.jpg 17 | // -> https://i.ebayimg.com/images/g/SDwAAOSw9vdgOLBv/s-l1600.jpg 18 | hoverZoom.urlReplace(res, 19 | 'img[src*="ebayimg"],[style*="ebayimg"]', 20 | /\/s-l\d+\./, 21 | '/s-l1600.' 22 | ); 23 | 24 | if (res.length) { 25 | callback($(res), this.name); 26 | } 27 | } 28 | }); 29 | -------------------------------------------------------------------------------- /plugins/ecranlarge.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push( { 3 | name: 'ecranlarge', 4 | version: '1.0', 5 | prepareImgLinks: function(callback) { 6 | var res = []; 7 | 8 | // sample: https://www.ecranlarge.com/media/cache/637x637/uploads/image/001/462/la-compagnie-rouge-photo-1462200.jpg 9 | // fullsize: https://www.ecranlarge.com/uploads/image/001/462/la-compagnie-rouge-photo-1462200.jpg 10 | hoverZoom.urlReplace(res, 11 | 'img[src*="ecranlarge"], [style*="url"]', 12 | /\/media\/cache\/.*?\//, 13 | '/' 14 | ); 15 | 16 | callback($(res), this.name); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /plugins/etejo.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Etejo', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | const res = []; 7 | 8 | // This should work, yet no image shows on hover 9 | // I suspect Etejo has something preventing it 10 | $('div.row.gallery.point:not(.hoverZoomMouseover)').addClass('hoverZoomMouseover').one('mouseover', function () { 11 | const img = $(this); 12 | const src = 'https://etejo.com/' + img.find('img[src*="Users/"]').attr('src'); 13 | 14 | hoverZoom.prepareLink(img, src) 15 | }); 16 | 17 | callback($(res), this.name); 18 | } 19 | }); 20 | -------------------------------------------------------------------------------- /plugins/etsy.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Etsy', 4 | version:'0.3', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src], [style*=url], li.listing a', 10 | /_\d+x\d+\./, 11 | '_fullxfull.' 12 | ); 13 | 14 | callback($(res), this.name); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /plugins/events-gallery_ch.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Events-Gallery.ch', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'a img[src*="/mini_"]', 9 | '/mini_', 10 | '/' 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/fanart.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'fanart.tv', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | 7 | var res = []; 8 | 9 | hoverZoom.urlReplace(res, 10 | 'img[src]', 11 | /\/thumb\.php\?src=\/(.*)&(.*)/, 12 | '/$1' 13 | ); 14 | 15 | callback($(res), this.name); 16 | } 17 | }); -------------------------------------------------------------------------------- /plugins/figma.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'figma.com', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | $('[class*=generic_tile_thumbnail--thumbnailFullWidth]').each(function () { 8 | var elem = $(this); 9 | 10 | var url = hoverZoom.getThumbUrl(this); 11 | 12 | var target = elem.parents('a'); 13 | if (target.length > 0) elem = $(target[0]); 14 | 15 | elem.data().hoverZoomSrc = [url]; 16 | res.push(elem); 17 | }); 18 | 19 | callback($(res), this.name); 20 | } 21 | }); 22 | -------------------------------------------------------------------------------- /plugins/findagrave.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'findagrave', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | 7 | var name = this.name; 8 | var res = []; 9 | 10 | // thumb: https://images.findagrave.com/photoThumbnails/photos/2023/198/51548785_45e6ce5e-67af-42d9-863f-e8f5e508a30c.jpeg 11 | // full: https://images.findagrave.com/photos/2023/198/51548785_45e6ce5e-67af-42d9-863f-e8f5e508a30c.jpeg 12 | hoverZoom.urlReplace(res, 13 | 'img[src]', 14 | /findagrave\.com\/.*\/photos\//, 15 | 'findagrave.com/photos/' 16 | ); 17 | 18 | callback($(res), name); 19 | } 20 | }); 21 | -------------------------------------------------------------------------------- /plugins/fotki.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'fotki.com', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src]', 10 | '-th', 11 | '-vi' 12 | ); 13 | 14 | callback($(res), this.name); 15 | } 16 | }); -------------------------------------------------------------------------------- /plugins/fotocommunity.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push( { 3 | name: 'fotocommunity', 4 | version: '1.0', 5 | prepareImgLinks: function(callback) { 6 | var res = []; 7 | 8 | // sample: https://img.fotocommunity.com/francoisarrighi-photographe-33a7b198-46ab-4d7e-89b1-88a72893dd60.jpg?width=80&height=80 9 | // fullsize: https://img.fotocommunity.com/francoisarrighi-photographe-33a7b198-46ab-4d7e-89b1-88a72893dd60.jpg?width=1920 10 | hoverZoom.urlReplace(res, 11 | 'img[src*="fotocommunity"], [style*="url"]', 12 | /\?.*/, 13 | '?width=1920' 14 | ); 15 | 16 | callback($(res), this.name); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /plugins/fotolog.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Fotolog', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = [], 7 | filter = 'img[src*="_t."], img[src*="_m."]', 8 | search = /_(t|m)\./; 9 | hoverZoom.urlReplace(res, filter, search, '.'); 10 | hoverZoom.urlReplace(res, filter, search, '_f.'); 11 | 12 | hoverZoom.urlReplace(res, 13 | 'img[src]', 14 | /-\d+x\d+/, 15 | '' 16 | ); 17 | 18 | callback($(res), this.name); 19 | } 20 | }); 21 | -------------------------------------------------------------------------------- /plugins/foursquare.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'foursquare.com', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src]', 10 | /\/\d+x\d+\//, 11 | '/original/' 12 | ); 13 | 14 | hoverZoom.urlReplace(res, 15 | 'div[style*="background"]', 16 | /\/\d+x\d+\//, 17 | '/original/' 18 | ); 19 | 20 | callback($(res), this.name); 21 | } 22 | }); 23 | -------------------------------------------------------------------------------- /plugins/free-images.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'free-images.com', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src]', 10 | ['/tn/', '/sm/', '/md/', '/lg/'], 11 | ['/or/', '/or/', '/or/', '/or/'] 12 | ); 13 | 14 | callback($(res), this.name); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /plugins/freeimagehost.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Freeimage Host', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | // thumbnail: https://iili.io/HyzgrgI.md.jpg 9 | // fullsize: https://iili.io/HyzgrgI.jpg 10 | hoverZoom.urlReplace(res, 11 | 'img[src]', 12 | '.md.', 13 | '.' 14 | ); 15 | 16 | callback($(res), this.name); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /plugins/freeimages.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'freeimages.com', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src]', 10 | ['/small-thumbs/', '/thumbs/', '/large-thumbs/', '/home-grids/', '/small-previews/', '/previews/'], 11 | ['/large-previews/', '/large-previews/', '/large-previews/', '/large-previews/', '/large-previews/'] 12 | ); 13 | 14 | callback($(res), this.name); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /plugins/freerangestock.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'freerangestock', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | 7 | var res = []; 8 | 9 | hoverZoom.urlReplace(res, 10 | 'img[src]', 11 | '/sample/', 12 | '/fullsize/' 13 | ); 14 | 15 | hoverZoom.urlReplace(res, 16 | 'img[src]', 17 | '/thumbnail/', 18 | '/fullsize/' 19 | ); 20 | 21 | hoverZoom.urlReplace(res, 22 | 'img[src]', 23 | '/thumbnail/', 24 | '/sample/' 25 | ); 26 | 27 | callback($(res), this.name); 28 | } 29 | }); 30 | -------------------------------------------------------------------------------- /plugins/fubiz.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'fubiz.net', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img[src]', 9 | /-\d+x\d+\./, 10 | '.' 11 | ); 12 | 13 | hoverZoom.urlReplace(res, 14 | 'a[style*="background"]', 15 | /-\d+x\d+\./, 16 | '.' 17 | ); 18 | 19 | callback($(res), this.name); 20 | } 21 | }); 22 | -------------------------------------------------------------------------------- /plugins/fukung.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Fukung.net', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = [], 7 | filter = 'a[href*="/fukung.net/v/"]'; 8 | if (document.location.hostname == 'fukung.net') { 9 | filter = 'a[href^="/v/"]'; 10 | } 11 | hoverZoom.urlReplace(res, 12 | filter, 13 | /^.*\/v\//, 14 | 'http://media.fukung.net/images/' 15 | ); 16 | if (res.length) { 17 | callback($(res), this.name); 18 | } 19 | } 20 | }); 21 | -------------------------------------------------------------------------------- /plugins/furaffinity.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'FurAffinity', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | let res = []; 7 | $('a[href*="/view/"]:not(.hoverZoomMouseover)').filter(function() { 8 | return this.href.match(/\/view\/\d+\/$/); 9 | }).addClass('hoverZoomMouseover').one('mouseover', function() { 10 | hoverZoom.prepareFromDocument($(this), this.href, function(doc) { 11 | const img = doc.querySelector('img[data-fullview-src]'); 12 | return img ? 'https:' + img.dataset.fullviewSrc : null; 13 | }); 14 | }); 15 | callback($(res), this.name); 16 | } 17 | }); -------------------------------------------------------------------------------- /plugins/furrynetwork.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'furrynetwork', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | let res = []; 7 | 8 | //Artwork and Photos 9 | $('img[data-reactid*="artwork"], img[data-reactid*="photo"]').each(function () { 10 | let img = $(this), 11 | src = img.attr('src'); 12 | src = src.replace('315x315', '2500x1500'); 13 | img.data().hoverZoomSrc = [src]; 14 | res.push(img); 15 | }); 16 | 17 | //Multimedia 18 | $('img[data-reactid*="multimedia"]').each(function () { 19 | let img = $(this), 20 | src = img.attr('src'); 21 | src = src.replace('/315x315.jpg', ''); 22 | img.data().hoverZoomSrc = [src + '.gif', src + '.mp4', src + '.webm']; 23 | res.push(img); 24 | }); 25 | 26 | callback($(res), this.name); 27 | } 28 | }); 29 | -------------------------------------------------------------------------------- /plugins/galerie-sakura.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'galerie-sakura.com', 4 | version:'1.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src]', 10 | ['-md.', '-sm.'], 11 | ['-lg.', '-lg.'] 12 | ); 13 | 14 | callback($(res), this.name); 15 | } 16 | }); -------------------------------------------------------------------------------- /plugins/gallery_a.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Gallery', 4 | prepareImgLinks:function (callback) { 5 | if (!document.body || !document.body.classList.contains('gallery')) { return; } 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | '.giItemCell a[href*="?g2_itemId="]', 9 | /(g2_itemId=\d+).*/, 10 | '$1&g2_view=core.DownloadItem' 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/gameblog.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Gameblog.fr', 4 | version:'0.3', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="/tn/"], img[src*="/med/"]', 10 | /\/(tn|med)\//, 11 | '/' 12 | ); 13 | 14 | hoverZoom.urlReplace(res, 15 | 'img[src*="mygameblog/av"]', 16 | /.*\/av(\d+)_.*/, 17 | 'http://www.gameblog.fr/forum/uploads/av-$1.jpg' 18 | ); 19 | 20 | hoverZoom.urlReplace(res, 21 | 'img[src]', 22 | ['/hi/', '-thumb'], 23 | ['/', ''] 24 | ); 25 | 26 | callback($(res), this.name); 27 | } 28 | }); 29 | -------------------------------------------------------------------------------- /plugins/gamekult.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Gamekult', 4 | version:'0.4', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'a img[src*="_1.jpg"]', 10 | '_1.jpg', 11 | '_2.jpg' 12 | ); 13 | 14 | //sample url: http://d3isma7snj3lcx.cloudfront.net/optim/images/review/30/3050811393/avec-wastelanders-fallout-76-ne-merite-que-la-radiation-4833208c__324_300__515-89-1583-1080.png 15 | // __324_300__515-89-1583-1080.png 16 | hoverZoom.urlReplace(res, 17 | 'img[src]', 18 | /(.*?)_[_-\d]{0,}\.(.*)/, 19 | '$1.$2' 20 | ); 21 | 22 | callback($(res), this.name); 23 | } 24 | }); -------------------------------------------------------------------------------- /plugins/gifbin.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'gifbin', 4 | prepareImgLinks:function (callback) { 5 | let res = []; 6 | 7 | // TODO: Fix status code 206 and repeated warning: "Invalid URI. Load of media resource failed." 8 | $('a[title][href*="/"]:not([class][poster])').filter(function() { 9 | return this.href.match(/gifbin\.com\/\d+$/); 10 | }).one('mouseover', function () { 11 | hoverZoom.prepareFromDocument($(this), this.href, function(doc) { 12 | let img = doc.getElementById('gif'); 13 | img = img.innerHTML.match(/source src="(.+\.mp4)"/); 14 | return img ? img[1] : false; 15 | }); 16 | }); 17 | 18 | callback($(res), this.name); 19 | } 20 | }); 21 | -------------------------------------------------------------------------------- /plugins/giphy.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'giphy.com', 4 | version:'2.0', 5 | prepareImgLinks:function (callback) { 6 | 7 | var res = []; 8 | 9 | hoverZoom.urlReplace(res, 10 | 'img[src]', 11 | /\/[12]00w?/, 12 | '/giphy' 13 | ); 14 | 15 | hoverZoom.urlReplace(res, 16 | 'img[src]', 17 | ['/200.webp', '/giphy.webp'], 18 | ['/400h.webp', '/400h.webp'] 19 | ); 20 | 21 | callback($(res), this.name); 22 | } 23 | }); -------------------------------------------------------------------------------- /plugins/github.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'GitHub', 4 | version:'0.3', 5 | prepareImgLinks:function (callback) { 6 | const res = []; 7 | 8 | $('a > img[data-canonical-src]').each(function () { 9 | let img = $(this); 10 | img.data('hoverZoomSrc', [img.attr('data-canonical-src')]); 11 | img.data('hoverZoomCaption', [img.attr('alt')]); 12 | res.push(img); 13 | }); 14 | 15 | $('img[src*="user-images"]').one('mouseover', function () { 16 | let img = $(this); 17 | let src = img.attr('src'); 18 | 19 | hoverZoom.prepareLink(img, src) 20 | }); 21 | 22 | hoverZoom.urlReplace(res, 23 | 'a[href*="/blob/"]', 24 | /\/github.com\/(.*)\/blob\/(.*\.(jpg|png|gif))/, 25 | '/raw.githubusercontent.com/$1/$2' 26 | ); 27 | 28 | hoverZoom.urlReplace(res, 29 | 'img[src]', 30 | /(.*)\?(.*)/, 31 | '$1' 32 | ); 33 | 34 | callback($(res), this.name); 35 | } 36 | }); 37 | -------------------------------------------------------------------------------- /plugins/gmail.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Gmail', 4 | prepareImgLinks:function (callback) { 5 | $('span[download_url]').each(function () { 6 | var url = this.getAttribute('download_url'); 7 | if (!url || url.substr(0,6) != 'image/') { return; } 8 | url = url.substr(url.indexOf(':http') + 1); 9 | this.classList.add('hoverZoomLink'); 10 | $(this).data().hoverZoomSrc = [url]; 11 | }); 12 | } 13 | }); 14 | -------------------------------------------------------------------------------- /plugins/googledrive.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'googledrive', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | const name = this.name; 7 | var res = []; 8 | 9 | 10 | $('div[data-id]').one('mouseover', function() { 11 | 12 | link = $(this); 13 | 14 | if (link.data().hoverZoomMouseOver) return; 15 | link.data().hoverZoomMouseOver = true; 16 | 17 | const imgId = $(this).data().id; 18 | 19 | const fullsize = `https://lh3.google.com/u/0/d/${imgId}=s0`; 20 | 21 | link.data().hoverZoomSrc = [fullsize]; 22 | callback(link, name); 23 | hoverZoom.displayPicFromElement(link); 24 | 25 | }).one('mouseleave', function () { 26 | const link = $(this); 27 | link.data().hoverZoomMouseOver = false; 28 | }); 29 | 30 | } 31 | }); -------------------------------------------------------------------------------- /plugins/googlesheets.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name: 'GoogleSheets', 4 | version:'0.2', 5 | prepareImgLinks: function (callback) { 6 | $('a[href]').one('mouseover', function() { 7 | let link = $(this), href = link.attr('href'); 8 | 9 | if (link.attr('href').indexOf('//drive.google.com/') !== -1) { 10 | href = link.closest('#docs-link-bubble').find('img').attr('src'); 11 | } 12 | 13 | if (href && href.indexOf('//drive.google.com/') === -1) { 14 | link.data().hoverZoomSrc = [href]; 15 | link.addClass('hoverZoomLink'); 16 | hoverZoom.displayPicFromElement(link); 17 | } 18 | }); 19 | } 20 | }); 21 | -------------------------------------------------------------------------------- /plugins/govdeals.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'govdeals', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src]', 10 | /\/[Tt]humbnails\//, 11 | '/' 12 | ); 13 | 14 | callback($(res), this.name); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /plugins/gravatar_a.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Gravatar', 4 | version:'0.3', 5 | prepareImgLinks:function (callback) { 6 | var i, url, res = [], 7 | img, imgs = qsa('img[src*="gravatar.com/avatar/"]'); 8 | for (i = 0; i < imgs.length; i++) { 9 | img = imgs[i]; 10 | if (img.src.indexOf('?') == -1) { 11 | url = img.src + '?s=512'; 12 | } else if (img.src.indexOf('s=') > -1) { 13 | url = img.src.replace(/s=\d+/, 's=512'); 14 | } else { 15 | url = img.src + '&s=512'; 16 | } 17 | img = $(img); 18 | img.data().hoverZoomSrc = [url]; 19 | res.push(img); 20 | } 21 | if (res.length) { 22 | callback($(res), this.name); 23 | } 24 | } 25 | }); 26 | -------------------------------------------------------------------------------- /plugins/head-fi.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'head-fi', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | 7 | var res = []; 8 | 9 | // thumbnail: https://cdn.head-fi.org/a/11981118_thumb.jpg?1675889657 10 | // fullsize: https://cdn.head-fi.org/a/11981118.jpg?1675889657 11 | hoverZoom.urlReplace(res, 12 | 'img[src*="_thumb"], [style*="url"]', 13 | '_thumb.', 14 | '.' 15 | ); 16 | 17 | // thumbnail: https://cdn.head-fi.org/avatars/s/141/141452.jpg?1649188084 18 | // fullsize: https://cdn.head-fi.org/avatars/o/141/141452.jpg?1649188084 19 | hoverZoom.urlReplace(res, 20 | 'img[src*="/avatars/"]', 21 | /\/avatars\/[sml]\//, 22 | '/avatars/o/' 23 | ); 24 | 25 | callback($(res), this.name); 26 | } 27 | }); 28 | -------------------------------------------------------------------------------- /plugins/hi5.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'hi5', 4 | version:'0.3', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'a img[src$="-01.jpg"]', 9 | '-01.jpg', 10 | '-02.jpg' 11 | ); 12 | callback($(res), this.name); 13 | 14 | // Fixes the bad positioning bug. 15 | // Doesn't seem to break the site's layout. 16 | $('body').css('position', 'static'); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /plugins/hiptest.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'hiptest', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'a[href*="attachments"]', 9 | /(.*)/, '$1/' 10 | ); 11 | callback($(res), this.name); 12 | } 13 | }); 14 | -------------------------------------------------------------------------------- /plugins/huaban.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push( { 3 | name: 'huaban', 4 | version: '1.1', 5 | prepareImgLinks: function(callback) { 6 | var res = []; 7 | 8 | // sample: https://hbimg.huaban.com/ee3e69d3e537cbe479c7df83611ab1c056639ac61df2d-KuC9Ni_fw86/format/webp 9 | // fullsize: https://hbimg.huaban.com/ee3e69d3e537cbe479c7df83611ab1c056639ac61df2d-KuC9Ni 10 | hoverZoom.urlReplace(res, 11 | 'img[src*="huaban.com"],div', 12 | /https:\/\/.*hbimg.huaban.com\/(.*)_(.*)/, 13 | 'https://hbimg.huaban.com/$1', 14 | 'a' 15 | ); 16 | 17 | // sample: https://hbimg.huaban.com/ee3e69d3e537cbe479c7df83611ab1c056639ac61df2d-KuC9Ni_fw86/format/webp 18 | // fullsize: https://hbimg.huaban.com/ee3e69d3e537cbe479c7df83611ab1c056639ac61df2d-KuC9Ni 19 | hoverZoom.urlReplace(res, 20 | 'img[src*="huaban.com"],div', 21 | /https:\/\/.*hbimg.huaban.com\/(.*)_(.*)/, 22 | 'https://hbimg.huaban.com/$1' 23 | ); 24 | 25 | callback($(res), this.name); 26 | } 27 | }); -------------------------------------------------------------------------------- /plugins/hupu.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push( { 3 | name: 'Hupu', 4 | prepareImgLinks: function(callback) { 5 | var res = []; 6 | hoverZoom.urlReplace(res, 7 | 'img[src*="thumbnail"]', 8 | 'thumbnail', 9 | 'bmiddle' 10 | ); 11 | hoverZoom.urlReplace(res, 12 | 'img[src*="hoopchina"]', 13 | /_?(w|small|\d{2,3}x\d{2,3})\./, 14 | '.' 15 | ); 16 | hoverZoom.urlReplace(res, 17 | 'img[src*="hoopchina.com.cn"]', 18 | /\w{4}\.jpg/, 19 | '.jpg' 20 | ); 21 | callback($(res), this.name); 22 | } 23 | }); 24 | -------------------------------------------------------------------------------- /plugins/hwzone_il.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'hwzone.co.il', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'a[href*="hwzone.co.il/view-image/hwzone.co.il"]', 9 | /\/view-image\//, 10 | '//'); 11 | hoverZoom.urlReplace(res, 12 | 'img[src*="/thumb_"]', 13 | '/thumb_', 14 | '/'); 15 | callback($(res), this.name); 16 | } 17 | }); 18 | -------------------------------------------------------------------------------- /plugins/image_aspx.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Image.aspx', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var links = $('a[href*="Image.aspx"]'); 7 | links.each(function () { 8 | $(this).data().hoverZoomSrc = [$(this).attr('href')]; 9 | }); 10 | callback(links); 11 | } 12 | }); 13 | -------------------------------------------------------------------------------- /plugins/imageevent.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'imageevent.com', 4 | version:'1.1', 5 | prepareImgLinks:function (callback) { 6 | 7 | var res = []; 8 | 9 | // page with samples: https://imageevent.com/powerwagon/doorart 10 | // thumbnail: https://photos.imageevent.com/powerwagon/doorart/icons/phillips_stores.jpg 11 | // fullsize: https://photos.imageevent.com/powerwagon/doorart/phillips_stores.jpg 12 | hoverZoom.urlReplace(res, 13 | 'img[src]', 14 | ['/large/', '/icons/', '/small/', '/websize/'], 15 | ['/', '/', '/', '/'], 16 | 'a' 17 | ); 18 | 19 | callback($(res), this.name); 20 | } 21 | }); -------------------------------------------------------------------------------- /plugins/imgflip_a.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'imgflip', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="imgflip"]', 10 | '/2/', 11 | '/' 12 | ); 13 | 14 | callback($(res), this.name); 15 | } 16 | }); -------------------------------------------------------------------------------- /plugins/ipboard_a.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'IP.Board', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | if (document.body && document.body.id != 'ipboard_body') { 7 | return; 8 | } 9 | var res = []; 10 | hoverZoom.urlReplace(res, 11 | 'img[src*="_thumb."]', 12 | '_thumb.', 13 | '.' 14 | ); 15 | callback($(res), this.name); 16 | } 17 | }); 18 | -------------------------------------------------------------------------------- /plugins/istockphoto.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'istockphoto.com', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="istockphoto.com/photos/"], img[src*="istockphoto.com/vectors/"], img[src*="istockphoto.com/illustrations/"]', 10 | /\?.*/, 11 | '?s=2048x2048' 12 | ); 13 | 14 | callback($(res), this.name); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /plugins/jeuxvideo_fr.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'JeuxVideo.fr', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | $('img[zoom]').each(function () { 8 | var _this = $(this); 9 | _this.data().hoverZoomSrc = [this.getAttribute('zoom')]; 10 | res.push(_this); 11 | }); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/joemonster.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'joemonster', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | 7 | var res = []; 8 | 9 | hoverZoom.urlReplace(res, 10 | 'img[src]', 11 | ['/thumb_', '/s_', '30.', '60.'], 12 | ['/', '/l_', '-full.', '-full.'] 13 | ); 14 | 15 | callback($(res), this.name); 16 | } 17 | }); 18 | -------------------------------------------------------------------------------- /plugins/jootix.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Jootix', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'div.smallImages, div.relatedPics', 9 | /thumbs\/(.*)_(big|small)\./, 10 | 'cache/$1-975x550.' 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/kenmarcus.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | 3 | hoverZoomPlugins.push( { 4 | name: 'kenmarcus', 5 | prepareImgLinks: function(callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 'a img[src*="preview"]', /preview/, 'source/image'); 8 | callback($(res), this.name); 9 | } 10 | }); 11 | -------------------------------------------------------------------------------- /plugins/kephost.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Kephost', 4 | prepareImgLinks:function (callback) { 5 | var res = []; 6 | hoverZoom.urlReplace(res, 7 | 'img[src*="kephost.com/images"]', 8 | /\.md\./, 9 | '.' 10 | ); 11 | callback($(res), this.name); 12 | } 13 | }); 14 | -------------------------------------------------------------------------------- /plugins/knowyourmeme.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Know Your Meme', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'a img.small', 10 | '/small/', 11 | '/original/' 12 | ); 13 | 14 | hoverZoom.urlReplace(res, 15 | 'img[src]', 16 | ['/list/', '/masonry/', '/medium/', '/newsfeed/', '/tiny/'], 17 | ['/original/', '/original/', '/original/', '/original/', '/original/'] 18 | ); 19 | 20 | callback($(res), this.name); 21 | } 22 | }); 23 | -------------------------------------------------------------------------------- /plugins/kotnauction.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push( { 3 | name: 'kotnauction', 4 | version: '1.0', 5 | prepareImgLinks: function(callback) { 6 | var name = this.name; 7 | var res = []; 8 | 9 | $('img[src]').each(function () { 10 | var link = $(this); 11 | const src = this.src; 12 | link.data().hoverZoomSrc = [src + '?123456']; 13 | res.push(link); 14 | }); 15 | 16 | callback($(res), this.name); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /plugins/kununu.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Kununu.com', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img[src*="crop_"]', 9 | /crop_\d{1,3}_\d{1,3}\//, 10 | '' 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/lazygirls_info.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Lazygirls.info', 4 | prepareImgLinks:function (callback) { 5 | var res = [], 6 | repl = document.querySelector('a[href$="sign_up"]') ? '.sized.' : '.'; 7 | hoverZoom.urlReplace(res, 8 | 'img[src*=".thumb."]', 9 | '.thumb.', 10 | repl 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/ldlc.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'LDLC', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | // thumbnail: https://media.ldlc.com/r150/ld/products/00/05/93/86/LD0005938670_1.jpg 9 | // fullsize: https://media.ldlc.com/ld/products/00/05/93/86/LD0005938670_1.jpg 10 | hoverZoom.urlReplace(res, 11 | 'img[src*="ldlc.com/r"]', 12 | /\/r\d+\//, 13 | '/' 14 | ); 15 | 16 | callback($(res), this.name); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /plugins/letterboxd.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Letterboxd', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | $('.poster .image').each(function () { 8 | var elem = $(this); 9 | 10 | var url = elem.attr('src') || hoverZoom.getThumbUrl(this); 11 | url = url.replace(/-0-\d+-0-\d+-crop.jpg/, options.showHighRes ? '-0-1000-0-1500-crop.jpg' : '-0-500-0-750-crop.jpg'); 12 | 13 | var target = elem.parent('div'); 14 | if (target.length > 0) elem = $(target[0]); 15 | 16 | elem.data().hoverZoomSrc = [url]; 17 | res.push(elem); 18 | }); 19 | callback($(res), this.name); 20 | } 21 | }); 22 | -------------------------------------------------------------------------------- /plugins/live.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Live.com', 4 | prepareImgLinks:function (callback) { 5 | var res = []; 6 | hoverZoom.urlReplace(res, 'img[src*="maxwidth="]', /&max(width|height)=\d+/g, ''); 7 | callback($(res), this.name); 8 | } 9 | }); 10 | -------------------------------------------------------------------------------- /plugins/livememe.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Livememe.com', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'a[href*="livememe.com/"]', 9 | /^.*www.livememe.com\/(\w+).*$/, 10 | 'http://www.livememe.com/$1.jpg' 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/liveshare.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'LiveShare', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img.thumb', 9 | '_128.', 10 | '_480.' 11 | ); 12 | hoverZoom.urlReplace(res, 13 | 'img.thumb', 14 | '_128.', 15 | '_960.' 16 | ); 17 | callback($(res), this.name); 18 | } 19 | }); 20 | -------------------------------------------------------------------------------- /plugins/lostfilm.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'lostfilm.info', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img[src]', 9 | ['_50.', '/150', '/40'], 10 | ['.', '/', '/'] 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/lostfilmtv.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'lostfilm.tv', 4 | version:'2.0', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src]', 10 | ['/t_', '/m_'], 11 | ['/', '/'] 12 | ); 13 | 14 | hoverZoom.urlReplace(res, 15 | 'img[src]', 16 | ['/icon.jpg', '/image.jpg'], 17 | ['/poster.jpg', '/poster.jpg'] 18 | ); 19 | 20 | hoverZoom.urlReplace(res, 21 | 'img[src]', 22 | /\/t(\d+)/, 23 | '/m$1' 24 | ); 25 | 26 | callback($(res), this.name); 27 | } 28 | }); 29 | -------------------------------------------------------------------------------- /plugins/maxmodels.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Maxmodels', 4 | version:'0.4', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="galerie"][src*="/m"], img[src*="galerie"][src*="/k"]', 10 | /\/(m|k)(\d+\.)/, 11 | '/p$2' 12 | ); 13 | 14 | hoverZoom.urlReplace(res, 15 | 'img[src*="miniatury"]', 16 | '/miniatury', 17 | '' 18 | ); 19 | 20 | hoverZoom.urlReplace(res, 21 | 'img[src]', 22 | ['_pthumb.', '_tinythumb.'], 23 | ['_profile.', '_profile.'] 24 | ); 25 | 26 | hoverZoom.urlReplace(res, 27 | 'img[src]', 28 | /_thumbs?\./, 29 | '.' 30 | ); 31 | 32 | callback($(res), this.name); 33 | } 34 | }); 35 | -------------------------------------------------------------------------------- /plugins/maxsold.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name: 'maxsold', 4 | version: '0.1', 5 | prepareImgLinks: function(callback) { 6 | var res = []; 7 | 8 | // sample: https://maxsold.maxsold.com/auction/litchfield-park-arizona-usa-moving-online-auction-west-estero-lane-29601/bidgallery/ 9 | // thumbnail : https://d12srav5gxm0re.cloudfront.net/auctionimages/29601/1618939049/w29601-myFile-1618615279108_t.jpeg 10 | // fullsize : https://d12srav5gxm0re.cloudfront.net/auctionimages/29601/1618939049/w29601-myFile-1618615279108.jpeg 11 | 12 | hoverZoom.urlReplace(res, 13 | 'img[src]', 14 | '_t.', 15 | '.' 16 | ); 17 | 18 | hoverZoom.urlReplace(res, 19 | 'img[src]', 20 | ['/thumbs/', '/thumbsbig/'], 21 | ['/', '/'] 22 | ); 23 | 24 | callback($(res), this.name); 25 | } 26 | }); 27 | -------------------------------------------------------------------------------- /plugins/media-amazon_a.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'media-amazon.com', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | // Sample: https://m.media-amazon.com/images/I/817lsQFcS2L._SL1500_.jpg 9 | // -> https://m.media-amazon.com/images/I/817lsQFcS2L.jpg 10 | 11 | $('img[src*="media-amazon.com/images"]').each(function () { 12 | const src = this.src; 13 | const fullsizeUrl = src.replace(/\._.*_\.(jpg)$/, '.$1'); 14 | 15 | if (fullsizeUrl !== src) { 16 | var link = $(this); 17 | link.data().hoverZoomSrc = [fullsizeUrl, fullsizeUrl.replace(/jpg$/, 'jpeg')]; 18 | res.push(link); 19 | } 20 | }); 21 | 22 | callback($(res), this.name); 23 | } 24 | }); 25 | -------------------------------------------------------------------------------- /plugins/medium_a.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Medium_a', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | 7 | var name = this.name; 8 | var res = []; 9 | 10 | // samples: 11 | // https://cdn-images-1.medium.com/fit/t/800/240/1*CWl19R2s2gM5u5NcMEP8oA.jpeg -> https://cdn-images-1.medium.com/1*CWl19R2s2gM5u5NcMEP8oA.jpeg 12 | // https://miro.medium.com/max/700/1*tNWGLkRt1qW3_aW5WiGb5Q.jpeg -> https://miro.medium.com/1*tNWGLkRt1qW3_aW5WiGb5Q.jpeg 13 | 14 | hoverZoom.urlReplace(res, 15 | 'img[src*="medium.com/"]', 16 | /\/(max|fit)\/.*\//, 17 | '/' 18 | ); 19 | 20 | callback($(res), name); 21 | } 22 | }); 23 | -------------------------------------------------------------------------------- /plugins/meiye.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'meiye', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | // sample: https://image.meiye.art/pic_S000e66nmR-8Eil06dcnz?imageMogr2/thumbnail/560x/interlace/1 9 | // -> https://image.meiye.art/pic_S000e66nmR-8Eil06dcnz 10 | 11 | const reFind = /(.*\.meiye\.art\/.*)\?.*/; 12 | const reReplace = '$1'; 13 | 14 | function findFullsizeUrl(link, src) { 15 | let fullsizeUrl = src.replace(reFind, reReplace); 16 | 17 | if (link.data().hoverZoomSrc == undefined) { link.data().hoverZoomSrc = [] } 18 | if (link.data().hoverZoomSrc.indexOf(fullsizeUrl) == -1) { 19 | link.data().hoverZoomSrc.push(fullsizeUrl); 20 | res.push(link); 21 | } 22 | } 23 | 24 | $('img[src*="meiye.art"]').each(function() { 25 | findFullsizeUrl($(this), this.src); 26 | }); 27 | 28 | if (res.length) { 29 | callback($(res), this.name); 30 | } 31 | } 32 | }); 33 | -------------------------------------------------------------------------------- /plugins/memecrunch.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Memecrunch', 4 | version:'0.3', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'a[href*="memecrunch.com/meme/"]:not([href$="image.png"])', 10 | /(.*)\/?$/, 11 | '$1/image.png' 12 | ); 13 | 14 | //sample url: http://thumbs9.memecrunch.com/meme/CBWLN/un-cumple-la-patgona-lucia-unas-47-primaveras/image.png?w=92 15 | // remove ?... 16 | hoverZoom.urlReplace(res, 17 | 'img[src*="memecrunch.com/meme/"]', 18 | /\?.*/, 19 | '' 20 | ); 21 | 22 | callback($(res), this.name); 23 | } 24 | }); 25 | -------------------------------------------------------------------------------- /plugins/memedad.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'MemeDad', 4 | prepareImgLinks:function (callback) { 5 | var res = []; 6 | hoverZoom.urlReplace(res, 7 | 'a[href*="memedad.com/meme/"]', 8 | /\/meme\/(\d+)/, 9 | '/memes/$1.jpg' 10 | ); 11 | callback($(res), this.name); 12 | } 13 | }); 14 | -------------------------------------------------------------------------------- /plugins/memefive.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'MemeFive', 4 | prepareImgLinks:function (callback) { 5 | var res = []; 6 | hoverZoom.urlReplace(res, 7 | 'a[href*="memefive.com/"]', 8 | /^.*www.memefive.com\/(\w+).*$/, 9 | 'http://www.memefive.com/memes/$1.jpg' 10 | ); 11 | callback($(res), this.name); 12 | } 13 | }); 14 | -------------------------------------------------------------------------------- /plugins/memegenerator.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Memegenerator', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'a[href*="memegenerator.net/instance/"]', 9 | /.*instance\/(\d+).*/, 10 | 'http://images.memegenerator.net/instances/500x/$1.jpg' 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/mercadolibre_com_ar.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'mercadolibre.com.ar', 4 | prepareImgLinks:function (callback) { 5 | var res = []; 6 | hoverZoom.urlReplace(res, 7 | 'img[src*="-S."],img[src*="-G."],img[src*="-T."]', 8 | /-[SGT]\./, 9 | '-O.' 10 | ); 11 | callback($(res), this.name); 12 | } 13 | }); 14 | -------------------------------------------------------------------------------- /plugins/miiverse.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Miiverse', 4 | prepareImgLinks:function (callback) { 5 | var res = []; 6 | hoverZoom.urlReplace(res, 7 | 'img[src*="/th/"]', 8 | '/th/', 9 | '/ss/', 10 | ':eq(0)' 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/minitokyo.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Minitokyo', 4 | prepareImgLinks:function (callback) { 5 | var res = []; 6 | hoverZoom.urlReplace(res, 7 | 'img[src*="/view/"], img[src*="/thumbs/"], [style*="/view/"], [style*="/thumbs/"]', 8 | /(view|thumbs)/, 9 | 'downloads' 10 | ); 11 | callback($(res), this.name); 12 | } 13 | }); 14 | -------------------------------------------------------------------------------- /plugins/mobypicture.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'mobypicture.com', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="mobypicture"]', 10 | ['_small.', '_square.', '_view.'], 11 | ['_large.', '_large.', '_large.'] 12 | ); 13 | 14 | callback($(res), this.name); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /plugins/modelmayhem.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'ModelMayhem', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img[src*="/photos/"], img[src*="/covers/"], img[src*="/potd/entrants/"]', 9 | '_m.jpg', 10 | '.jpg' 11 | ); 12 | hoverZoom.urlReplace(res, 13 | 'img[src*="/avatars/"]', 14 | ['_t.jpg', '_xt.jpg'], 15 | ['_m.jpg', '_m.jpg'] 16 | ); 17 | hoverZoom.urlReplace(res, 18 | 'img[src*="/photos/"], img[src*="/covers/"], img[src*="/potd/entrants/"], img[src*="/avatars/"]', 19 | '-small', 20 | '-big' 21 | ); 22 | callback($(res), this.name); 23 | } 24 | }); 25 | -------------------------------------------------------------------------------- /plugins/musicme.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'MusicMe', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'a img.icover, div.radiostickerpic img', 9 | /\/jpg.*\//, 10 | '/jpg343/', 11 | ':eq(0)' 12 | ); 13 | callback($(res), this.name); 14 | } 15 | }); 16 | -------------------------------------------------------------------------------- /plugins/myspace.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'MySpace', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'a img[src*="ac-images.myspacecdn.com"], a img[src*="images.socialplan.com"]', 10 | [/\/[sm]_/, '_t.'], 11 | ['/l_', '_p.'] 12 | ); 13 | 14 | // /300x300.jpg -> /full.jpg 15 | var reNxN = /\/\d+[xX]\d+\./; 16 | hoverZoom.urlReplace(res, 17 | 'img[src]', 18 | reNxN, 19 | '/full.' 20 | ); 21 | 22 | callback($(res), this.name); 23 | } 24 | }); 25 | -------------------------------------------------------------------------------- /plugins/n11.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'n11', 4 | prepareImgLinks:function (callback) { 5 | var res = []; 6 | $('img[src*=".n11.com.tr/a1/"], img[data-original*=".n11.com.tr/a1/"]').each(function () { 7 | var img = $(this); 8 | var src = img.attr('data-original') || img.attr('src'); 9 | if (!src) return; 10 | src = src.replace(/\.com\.tr\/a1\/\d+/, options.showHighRes ? '.com.tr/a1/org' : '.com.tr/a1/1024'); 11 | img.data().hoverZoomSrc = [src]; 12 | res.push(img); 13 | }); 14 | callback($(res), this.name); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /plugins/newegg.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'NewEgg', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img[src*="?$"]', 9 | /\?.*$/, 10 | '' 11 | ); 12 | hoverZoom.urlReplace(res, 13 | 'img[src*="neweggimages"]', 14 | /\/P\d+\//, 15 | '/P800/' 16 | ); 17 | hoverZoom.urlReplace(res, 18 | 'img[src]', 19 | '/ProductImage/', 20 | '/ProductImage1280/' 21 | ); 22 | hoverZoom.urlReplace(res, 23 | 'img[src]', 24 | /\/ProductImageCompressAll.*\//, 25 | '/ProductImageCompressAll1280/' 26 | ); 27 | callback($(res), this.name); 28 | } 29 | }); 30 | -------------------------------------------------------------------------------- /plugins/nofrag.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Nofrag', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="-preview"]', 10 | '-preview', 11 | '' 12 | ); 13 | 14 | hoverZoom.urlReplace(res, 15 | 'img[src]', 16 | /-\d+x\d+\./, 17 | '.' 18 | ); 19 | 20 | callback($(res), this.name); 21 | } 22 | }); 23 | -------------------------------------------------------------------------------- /plugins/okcupid.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'OkCupid', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img[src*="/images/"]', 9 | /\/(\d+x\d+)\/(\d+x\d+)\/(\d+x\d+)\/(\d+x\d+)\/(\d+)/, 10 | '/$1/558x800/$3/$4/0' 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/oxd_in.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'oxd.in', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = [], 7 | filter = 'a[href*="oxd.in/i/"]'; 8 | if (document.location.hostname == 'oxd.in') { 9 | filter = 'a[href^="/i/"]'; 10 | } 11 | hoverZoom.urlReplace(res, 12 | filter, 13 | /(\/i\/)(.*)/, 14 | '/img/$2.jpg' 15 | ); 16 | callback($(res), this.name); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /plugins/paheal.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Paheal.net', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | let res = []; 7 | 8 | $('img[src*="thumbs"]').each(function() { 9 | let img = $(this); 10 | let src = 'https://rule34.paheal.net' + img.attr('src'); 11 | 12 | src = src.replace('thumbs', 'images').replace('thumb', 'image').replace(/jpg$/, ''); 13 | img.data().hoverZoomSrc = [src + 'jpg', src + 'mp4']; 14 | res.push(img); 15 | }); 16 | 17 | callback($(res), this.name); 18 | } 19 | }); 20 | -------------------------------------------------------------------------------- /plugins/panoramio.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Panoramio', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = [], 7 | search = 'img[src*="/photos/"]'; 8 | hoverZoom.urlReplace(res, 9 | search, 10 | /(square|thumbnail|small)/, 11 | 'medium' 12 | ); 13 | hoverZoom.urlReplace(res, 14 | search, 15 | /(square|thumbnail|small|medium)/, 16 | 'large' 17 | ); 18 | if (options.showHighRes) { 19 | hoverZoom.urlReplace(res, 20 | search, 21 | /(.*)(square|thumbnail|small|medium)/, 22 | 'http://static.panoramio.com/photos/original' 23 | ); 24 | } 25 | callback($(res), this.name); 26 | } 27 | }); 28 | -------------------------------------------------------------------------------- /plugins/phapit.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Phapit.com', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'a[href*="phapit.com/image/"]', 9 | /.*\/(phap\d*)(\/.*)?/, 10 | 'http://images.phapit.com/uploaded_pics/$1.jpg' 11 | ); 12 | if (res.length) { 13 | callback($(res), this.name); 14 | } 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /plugins/phorio.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'phorio', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | // sample: https://picture.phorio.com/photo/866424619/200-crop/image.jpg 9 | // -> https://picture.phorio.com/photo/866424619/mars/image.jpg 10 | hoverZoom.urlReplace(res, 11 | 'img[src],div[style*="url"]', 12 | /(.*)\/(.*)\/image\.jpg/, 13 | '$1/mars/image.jpg' 14 | ); 15 | 16 | if (res.length) { 17 | callback($(res), this.name); 18 | } 19 | } 20 | }); 21 | -------------------------------------------------------------------------------- /plugins/photoblink.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'photoblink.com', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | 7 | var res = []; 8 | 9 | hoverZoom.urlReplace(res, 10 | 'img[src]', 11 | /\/th\/(.*)_thumb(.*)\.(.*)/, 12 | '/im/$1.$3' 13 | ); 14 | 15 | callback($(res), this.name); 16 | } 17 | }); -------------------------------------------------------------------------------- /plugins/photobucket.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Photobucket', 4 | version:'0.3', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="th_"]', 10 | ['//th', '/th_'], 11 | ['//i', '/'], 12 | ':first' 13 | ); 14 | 15 | //http://rs124.pbsrc.com/albums/p9/Timaestro2/500x_spheremain.jpg~c100 <--- small image 16 | //http://i124.photobucket.com/albums/p9/Timaestro2/500x_spheremain.jpg <--- large image 17 | hoverZoom.urlReplace(res, 18 | 'img[src*="pbsrc"]', 19 | [/\/\/([a-z]+)/, 'pbsrc', /~.*/], 20 | ['//i', 'photobucket', ''] 21 | ); 22 | 23 | //https://i162.photobucket.com/albums/t267/sjc_13/europe/P1010323.jpg?width=200&height=200&crop=1:1,smart 24 | hoverZoom.urlReplace(res, 25 | 'img[src]', 26 | /\/\/.*?\./, 27 | '//hosting.' 28 | ); 29 | 30 | callback($(res), this.name); 31 | } 32 | }); 33 | -------------------------------------------------------------------------------- /plugins/photoforum.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'photoforum.ru', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src]', 10 | ['.th/', '.th.', '.thsq/', '.thsq.'], 11 | ['/', '.', '/', '.'] 12 | ); 13 | 14 | callback($(res), this.name); 15 | } 16 | }); -------------------------------------------------------------------------------- /plugins/photopost.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'photopost.cz', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src]', 10 | ['/small/', '/smallcube/'], 11 | ['/', '/'] 12 | ); 13 | 14 | callback($(res), this.name); 15 | } 16 | }); -------------------------------------------------------------------------------- /plugins/photoshop_a.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Adobe Photoshop Web Photo Gallery', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | if (!hoverZoom.pageGenerator || hoverZoom.pageGenerator.indexOf('Photoshop') == -1) { 7 | return; 8 | } 9 | var res = []; 10 | hoverZoom.urlReplace(res, 11 | 'img[src*="thumbnails/"]', 12 | 'thumbnails/', 13 | 'images/' 14 | ); 15 | callback($(res), this.name); 16 | } 17 | }); 18 | -------------------------------------------------------------------------------- /plugins/pic2me.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push( { 3 | name: 'pic2me', 4 | version: '1.0', 5 | prepareImgLinks: function(callback) { 6 | var res = []; 7 | 8 | // sample: https://storge.pic2.me/w/280x175/593/55dcdfc79cc19.webp 9 | // fullsize: https://storge.pic2.me/upload/593/55dcdfc79cc19.jpg 10 | hoverZoom.urlReplace(res, 11 | 'img[src*="pic2.me"]', 12 | /\/.\/\d+x\d+\/(.*)\.(.*)/, 13 | '/upload/$1.jpg' 14 | ); 15 | 16 | callback($(res), this.name); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /plugins/picsarus.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Picsarus', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | $('a[href*="picsarus.com/"]').each(function () { 9 | if (this.href.match(/\.(jpe?g|gif|png)$/i)) { 10 | return; 11 | } 12 | var link = $(this), 13 | aHref = link.attr('href').split('/'); 14 | if (aHref.length < 4) { 15 | return; 16 | } 17 | var url = 'http://www.picsarus.com/upload_images/' + aHref[3]; 18 | link.data().hoverZoomSrc = [url + '.jpg', url + '.png', url + '.gif']; 19 | res.push(link); 20 | }); 21 | 22 | if (res.length) { 23 | callback($(res), this.name); 24 | } 25 | } 26 | }); 27 | -------------------------------------------------------------------------------- /plugins/pictmobi.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Pict.Mobi', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'a[href*=pict.mobi]', 9 | /pict\.mobi\/([^\/]*)$/, 10 | 'pict.mobi/show/med/med_$1' 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/picturepush.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Picturepush.com', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img[src]', 9 | /(.*)\/photo\/a\/(\d+)\/(.*)\/(.*)/, 10 | '$1/photo/a/$2/1024/$4' 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/pikwizard.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'pikwizard', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | 7 | var res = []; 8 | 9 | hoverZoom.urlReplace(res, 10 | 'img[src]', 11 | /-[a-z]{1}\./, 12 | '-l.' 13 | ); 14 | 15 | callback($(res), this.name); 16 | } 17 | }); 18 | -------------------------------------------------------------------------------- /plugins/pixabay.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'pixabay.com', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="pixabay"]', 10 | ['__180', '__340', '__480', '_640', '_960_720', '_48x48'], 11 | ['_960_720', '_960_720', '_960_720', '_960_720', '_1280', '_96x96'] 12 | ); 13 | 14 | callback($(res), this.name); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /plugins/play.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Play.com', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'a img[src$="s.jpg"], a img[src$="m.jpg"]', 9 | /[sm]\.jpg/, 10 | 'x.jpg' 11 | ); 12 | return callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/plurk.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Plurk', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img[src*="avatars.plurk.com"]', 9 | [/(small|medium)/, '.gif'], 10 | ['big', '.jpg'] 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/podcasts_apple.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push( { 3 | name: 'podcasts_apple', 4 | version: '1.0', 5 | prepareImgLinks: function(callback) { 6 | var name = this.name; 7 | 8 | $('button[id*="audio-controls-playback"]').on('mouseover', function() { 9 | const link = $(this); 10 | let data = link.data(); 11 | 12 | if (data.hoverZoomMouseOver) return; 13 | data.hoverZoomMouseOver = true; 14 | 15 | if ($('audio')[0] == undefined) return; 16 | const url = $('audio')[0].src; 17 | 18 | data.hoverZoomSrc = [url]; 19 | callback(link, name); 20 | 21 | // Podcast is played iff the cursor is still over the player 22 | if (link.data().hoverZoomMouseOver) 23 | hoverZoom.displayPicFromElement(link, true); 24 | 25 | }).on('mouseleave', function () { 26 | const link = $(this); 27 | link.data().hoverZoomMouseOver = false; 28 | }); 29 | 30 | } 31 | }); 32 | -------------------------------------------------------------------------------- /plugins/publicdomainpictures.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'PublicDomainPictures', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | //sample url : https://publicdomainpictures.net/pictures/370000/t2/view-of-cab-of-old-steam-locomotive.jpg 9 | // -> https://publicdomainpictures.net/pictures/370000/velka/view-of-cab-of-old-steam-locomotive.jpg 10 | hoverZoom.urlReplace(res, 11 | 'img[src]', 12 | '/t2/', 13 | '/velka/' 14 | ); 15 | 16 | //sample url : https://as2.ftcdn.net/jpg/02/77/29/25/220_F_277292538_0QTOwR2OqMEuhyEigw0OUMg6GASxGAX7.jpg 17 | // -> https://as2.ftcdn.net/jpg/02/77/29/25/1000_F_277292538_0QTOwR2OqMEuhyEigw0OUMg6GASxGAX7.jpg 18 | hoverZoom.urlReplace(res, 19 | 'img[src]', 20 | /\/\d+_F/, 21 | '/1000_F' 22 | ); 23 | 24 | callback($(res), this.name); 25 | } 26 | }); 27 | -------------------------------------------------------------------------------- /plugins/quickmeme.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Quick Meme', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'a[href*="quickmeme.com/meme/"]', 9 | /^.*\/meme\/(\w+).*$/, 10 | 'http://i.qkme.me/$1.jpg' 11 | ); 12 | hoverZoom.urlReplace(res, 13 | 'a[href*="qkme.me/"]', 14 | /^.*qkme.me\/(\w+).*$/, 15 | 'http://i.qkme.me/$1.jpg' 16 | ); 17 | callback($(res), this.name); 18 | } 19 | }); 20 | -------------------------------------------------------------------------------- /plugins/quora.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Quora', 4 | prepareImgLinks:function (callback) { 5 | var res = [], 6 | imgs = qsa('img[master_src]'); 7 | for (var i=0; i img.width * 1.5 || masterH > img.height * 1.5) { 13 | img = $(img); 14 | img.data().hoverZoomSrc = [url + '#']; 15 | res.push(img); 16 | } 17 | } 18 | callback($(res), this.name); 19 | } 20 | }); 21 | -------------------------------------------------------------------------------- /plugins/rakuten.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Rakuten', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="?_ex="]', 10 | /\?_ex=.*$/, 11 | '' 12 | ); 13 | 14 | // thumbnail: https://fr.shopping.rakuten.com/photo/2391265187_L_NOPAD.jpg 15 | // fullsize: https://fr.shopping.rakuten.com/photo/2391265187.jpg 16 | hoverZoom.urlReplace(res, 17 | 'img[src*="_"]', 18 | /_(XS|S|M|MS|ML|L).*?\./, 19 | '.' 20 | ); 21 | 22 | callback($(res), this.name); 23 | } 24 | }); 25 | -------------------------------------------------------------------------------- /plugins/rootmusic.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'RootMusic', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'a.photo img', 9 | /_[sqta]\./, 10 | '_n.' 11 | ); 12 | hoverZoom.urlReplace(res, 13 | 'img[src*="graph.facebook.com"]', 14 | /picture$/, 15 | 'picture?type=album' 16 | ); 17 | callback($(res), this.name); 18 | } 19 | }); 20 | -------------------------------------------------------------------------------- /plugins/safebooru.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Safebooru', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src]', 10 | /(.*)\/(?:thumbnails|samples)\/(.*)\/(?:thumbnail|sample)_(.*)\.jpg(.*)/, 11 | '$1/images/$2/$3.png' 12 | ); 13 | 14 | hoverZoom.urlReplace(res, 15 | 'img[src]', 16 | /(.*)\/(?:thumbnails|samples)\/(.*)\/(?:thumbnail|sample)_(.*)\.jpg(.*)/, 17 | '$1/images/$2/$3.jpeg' 18 | ); 19 | 20 | hoverZoom.urlReplace(res, 21 | 'img[src]', 22 | /(.*)\/(?:thumbnails|samples)\/(.*)\/(?:thumbnail|sample)_(.*)/, 23 | '$1/images/$2/$3' 24 | ); 25 | 26 | callback($(res), this.name); 27 | } 28 | }); 29 | -------------------------------------------------------------------------------- /plugins/sendvid_a.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'sendvid_a', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | // page with samples: https://www.reddit.com/domain/sendvid.com/ 9 | // link: https://sendvid.com/665lln74 10 | // video url: https://videos2-h.sendvid.com/hls/8a/4a/665lln74.mp4/master.m3u8?validfrom=1661590630&validto=1661597830&rate=200k&ip=93.22.151.198&hdl=-1&hash=utkq1owE7t%2FxnV4jKV0ar%2FYthK4%3D 11 | $('a[href*="sendvid.com"]:not(.hoverZoomMouseover)').addClass('hoverZoomMouseover').one('mouseover', function() { 12 | 13 | href = this.href; 14 | link = $(this); 15 | 16 | hoverZoom.prepareFromDocument($(this), this.href, function(doc) { 17 | 18 | let meta = doc.querySelector('meta[property="og:video:secure_url"]'); 19 | if (meta) return meta.content; 20 | 21 | }, false); // get source sync 22 | }); 23 | 24 | callback($(res), this.name); 25 | } 26 | }); 27 | -------------------------------------------------------------------------------- /plugins/skyrock_a.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Skyrock', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'a img[src*=".skyrock.net"]', 9 | /\/(\d+)_(0|1)_(\d+)\./, 10 | '/$1_2_$3.' 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/smugmug.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'smugmug.com', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="smugmug"]', 10 | /(.*)\/(.*)\/([^\/].*)-([^-].*)\./, 11 | '$1/O/$3.' 12 | ); 13 | 14 | hoverZoom.urlReplace(res, 15 | 'a[style*="background"]', 16 | /(.*)\/(.*)\/([^\/].*)-([^-].*)\./, 17 | '$1/O/$3.' 18 | ); 19 | 20 | callback($(res), this.name); 21 | } 22 | }); 23 | -------------------------------------------------------------------------------- /plugins/spinchat.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Spinchat', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="/mini/"]', 10 | '/mini/', 11 | '/full/' 12 | ); 13 | 14 | hoverZoom.urlReplace(res, 15 | 'img[src]', 16 | '/image/1/0/user/', 17 | '/user/full/' 18 | ); 19 | 20 | callback($(res), this.name); 21 | } 22 | }); 23 | -------------------------------------------------------------------------------- /plugins/squarespace_a.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'SquareSpace_a', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="squarespace"],[style*="squarespace"]', 10 | /(\?format=\d+)/, 11 | '?format=2500' 12 | ); 13 | 14 | if (res.length) { 15 | callback($(res), this.name); 16 | } 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /plugins/stern_de.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Stern.de', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img', 9 | [ /_maxpane_\d+_\d+[.]jpg/ , /_fitin_\d+_\d+[.]jpg/ ], 10 | [ '_maxsize_735_490.jpg' , '_maxsize_735_490.jpg' ] 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/stocksnap.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'stocksnap.io', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img[src]', 9 | '/280h/', 10 | '/960w/' 11 | ); 12 | 13 | callback($(res), this.name); 14 | } 15 | }); 16 | -------------------------------------------------------------------------------- /plugins/streamable_a.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name: 'Streamable', 4 | prepareImgLinks: function (callback) { 5 | if (!options.zoomVideos) return; 6 | $('a[href*="//streamable.com/"]').one('mouseenter', function () { 7 | hoverZoom.prepareFromDocument($(this), this.href, function(doc) { 8 | return doc.head.querySelector('meta[property="og:video:url"][content]').content; 9 | }); 10 | }); 11 | } 12 | }); 13 | -------------------------------------------------------------------------------- /plugins/tenor.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'tenor', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | let res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="media"]', 10 | /media(.*AAAA)M/, 11 | 'c$1d' 12 | ); 13 | 14 | callback($(res), this.name); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /plugins/themoviedb.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'themoviedb', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | // sample: https://www.themoviedb.org/t/p/w276_and_h350_face/q0QXFRg5bSnaLjbvhamfclt0eId.jpg 9 | // original: https://www.themoviedb.org/t/p/original/q0QXFRg5bSnaLjbvhamfclt0eId.jpg 10 | hoverZoom.urlReplace(res, 11 | 'img[src]', 12 | /\/p\/.*\//, 13 | '/p/original/' 14 | ); 15 | 16 | if (res.length) { 17 | callback($(res), this.name); 18 | } 19 | } 20 | }); 21 | -------------------------------------------------------------------------------- /plugins/tinypic.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Tinypic', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'a img[src*="_th."]', 9 | '_th.', 10 | '.' 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/tipeee.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push( { 3 | name: 'Tipeee', 4 | version: '1.0', 5 | prepareImgLinks: function(callback) { 6 | var res = []; 7 | 8 | // sample: https://www.tipeeestream.com/cdn-cgi/image/onerror=redirect,width=400,height=400,fit=cover/https://api.tipeee.com/uploads/media/image/png/20211019/20211019616f1c0af1baf.png 9 | // fullsize: https://api.tipeee.com/uploads/media/image/png/20211019/20211019616f1c0af1baf.png 10 | hoverZoom.urlReplace(res, 11 | 'img[src],[style*="url"]', 12 | /.*\/(http.*)/, 13 | '$1' 14 | ); 15 | 16 | callback($(res), this.name); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /plugins/tnaflix.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'tnaflix', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | // small img: https://img.tnaflix.com/a1:1q80w150r/pics/alpha/969085578/1468504708/1451436226.jpg 9 | // fullsize img: https://img.tnaflix.com/pics/alpha/969085578/1468504708/1451436226.jpg 10 | hoverZoom.urlReplace(res, 11 | 'img[src*="tnaflix.com"]', 12 | /(^.*tnaflix.com)\/(.*)\/pics\/(.*)/, 13 | '$1/pics/$3', 14 | 'a' 15 | ); 16 | 17 | callback($(res), this.name); 18 | } 19 | }); -------------------------------------------------------------------------------- /plugins/trakttv.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'trakt.tv', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | // https://walter.trakt.tv/images/shows/000/189/717/posters/thumb/95911acafb.jpg.webp 7 | // https://walter.trakt.tv/images/shows/000/189/717/posters/full/95911acafb.jpg.webp 8 | var res = []; 9 | $('body').on('mouseenter', 'img.real[src*="/thumb/"]', function() { 10 | const img = $(this); 11 | const src = img.attr('src').replace("thumb", "full"); 12 | hoverZoom.prepareLink(img.parent(), src); 13 | }) 14 | callback($(res), this.name); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /plugins/tshirthell.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'T-Shirt Hell', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'a img', 9 | '_thumb.jpg', 10 | '_bm.gif' 11 | ); 12 | callback($(res), this.name); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /plugins/twimg.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Twimg.com', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | // Same link without "_x96" loads the large version of the profile image. 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="twimg.com"]', 10 | /_x96/, 11 | '' 12 | ); 13 | // Links to profiles found on the main page or a Twitter list have "data-focusable=true". 14 | $('a[data-focusable="true"] > div:nth-child(2)').css('pointer-events', 'none'); 15 | // Links to profiles found in the profile popup have "aria-hidden=true". 16 | $('a[aria-hidden="true"] > div:nth-child(2)').css('pointer-events', 'none'); 17 | callback($(res), this.name); 18 | } 19 | }); 20 | -------------------------------------------------------------------------------- /plugins/twitpic.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Twitpic', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | $('a[data-expanded-url*="twitpic.com"], a[data-url*="twitpic.com"], img[src*="twitpic.com"]').each(function () { 8 | var _this = $(this), 9 | url = this.getAttribute('data-expanded-url') || this.getAttribute('data-url') || this.getAttribute('src'); 10 | _this.data().hoverZoomSrc = [url.replace(/twitpic\.com\/([^\/]*)$/, 'twitpic.com/show/' + (options.showHighRes ? 'full' : 'large') + '/$1')]; 11 | res.push(_this); 12 | }); 13 | callback($(res), this.name); 14 | } 15 | }); 16 | -------------------------------------------------------------------------------- /plugins/unlimphotos.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push( { 3 | name: 'unlimphotos', 4 | version: '1.0', 5 | prepareImgLinks: function(callback) { 6 | var res = []; 7 | 8 | // sample: https://thumbnails.unlimphotos.com/7/495/7495152.jpg 9 | // fullsize: https://thumbnails.unlimphotos.com/1600/7/495/7495152.jpg 10 | hoverZoom.urlReplace(res, 11 | 'img[src]:not(img[src*="/1600/"])', 12 | 'unlimphotos.com/', 13 | 'unlimphotos.com/1600/', 14 | 'a' 15 | ); 16 | 17 | // sample: https://thumbnails.unlimphotos.com/7/495/7495152.jpg 18 | // fullsize: https://thumbnails.unlimphotos.com/1600/7/495/7495152.jpg 19 | hoverZoom.urlReplace(res, 20 | 'img[src]:not(img[src*="/1600/"])', 21 | 'unlimphotos.com/', 22 | 'unlimphotos.com/1600/' 23 | ); 24 | 25 | callback($(res), this.name); 26 | } 27 | }); 28 | -------------------------------------------------------------------------------- /plugins/unsplash.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push( { 3 | name: 'unsplash', 4 | version: '1.0', 5 | prepareImgLinks: function(callback) { 6 | var name = this.name; 7 | var res = []; 8 | 9 | // sample: https://images.unsplash.com/photo-1713769931183-1537d9a8126b?w=2000&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHwxfHx8ZW58MHx8fHx8 10 | // -> https://images.unsplash.com/photo-1713769931183-1537d9a8126b 11 | 12 | $('img[src]').each(function () { 13 | var link = $(this); 14 | const src = this.src.replace(/(.*)\?.*/, '$1'); 15 | link.data().hoverZoomSrc = [src]; 16 | res.push(link); 17 | }); 18 | 19 | callback($(res), name); 20 | } 21 | }); 22 | -------------------------------------------------------------------------------- /plugins/vbulletin_a.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'vBulletin', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | if (!hoverZoom.pageGenerator || hoverZoom.pageGenerator.indexOf('vBulletin') == -1) { 7 | return; 8 | } 9 | var res = []; 10 | hoverZoom.urlReplace(res, 11 | 'img[src*="thumb=1"]', 12 | 'thumb=1', 13 | 'thumb=0' 14 | ); 15 | callback($(res), this.name); 16 | } 17 | }); 18 | -------------------------------------------------------------------------------- /plugins/viedemerde.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Vie de merde', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | $('img.avatar').each(function () { 8 | var img = $(this), 9 | url = img.attr('original') || img.attr('src'); 10 | img.data().hoverZoomSrc = [ 11 | url.replace(/\/(icon|mid)\//, '/original/'), 12 | url.replace('/icon/', '/mid/') 13 | ]; 14 | res.push(img); 15 | }); 16 | callback($(res), this.name); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /plugins/viewbug.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push( { 3 | name: 'viewbug', 4 | version: '1.0', 5 | prepareImgLinks: function(callback) { 6 | var res = []; 7 | 8 | // sample: https://www.viewbug.com/media/images/contests/contest8467_35x35.jpeg 9 | // fullsize: https://www.viewbug.com/media/images/contests/contest8467_banner.jpeg 10 | hoverZoom.urlReplace(res, 11 | 'img[src],div', 12 | /(contest.*)_(.*)\./, 13 | '$1_banner.', 14 | 'a' 15 | ); 16 | 17 | // sample: https://cdnpt01.viewbug.com/media/mediafiles/2019/10/29/86898663_380x380.jpg 18 | // fullsize: https://cdnpt01.viewbug.com/media/mediafiles/2019/10/29/86898663_large1600.jpg 19 | hoverZoom.urlReplace(res, 20 | 'img[src],div', 21 | /_(.*)\./, 22 | '_large1600.', 23 | 'a' 24 | ); 25 | 26 | callback($(res), this.name); 27 | } 28 | }); 29 | -------------------------------------------------------------------------------- /plugins/vine_a.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'vine.co', 4 | prepareImgLinks:function (callback) { 5 | $('a[href*="//vine.co/v/"]').one('mouseover', function() { 6 | var link = this.href.replace('http:', location.protocol); 7 | hoverZoom.prepareFromDocument($(this), link, function(doc) { 8 | var img = doc.getElementsByTagName('video')[0]; 9 | if (img) { 10 | return img.src; 11 | } else { 12 | return false; 13 | } 14 | }); 15 | }); 16 | } 17 | }); 18 | -------------------------------------------------------------------------------- /plugins/visualart.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'visualart.me', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="/s1/"]', 10 | '/s1/', 11 | '/s2/' 12 | ); 13 | hoverZoom.urlReplace(res, 14 | 'img[src*="/s4/"]', 15 | '/53x53/', 16 | '/180x180/' 17 | ); 18 | callback($(res), this.name); 19 | } 20 | }); 21 | -------------------------------------------------------------------------------- /plugins/voxmedia.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'VoxMedia', 4 | version:'1.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | // sample url : https://cdn.vox-cdn.com/thumbor/STr6lo0PAsW5wAFSwqoqMVma7YY=/0x109:2400x1459/250x141/filters:format(webp)/cdn.vox-cdn.com/uploads/chorus_image/image/67425665/GettyImages_1228422156.0.jpg 9 | // -> https://cdn.vox-cdn.com/uploads/chorus_image/image/67425665/GettyImages_1228422156.0.jpg 10 | hoverZoom.urlReplace(res, 11 | 'img[src*="cdn.vox-cdn.com"]', 12 | /.*(cdn.vox-cdn.com.*)/, 13 | 'https://$1' 14 | ); 15 | 16 | callback($(res), this.name); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /plugins/vsco.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'vsco.co', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | // https://im.vsco.co/aws-us-west-2/949b43/66474950/64e04545c0e8e33f25a126b6/vsco_081823.jpg?w=260 7 | // https://im.vsco.co/aws-us-west-2/949b43/66474950/64e04545c0e8e33f25a126b6/vsco_081823.jpg 8 | var res = []; 9 | $('body').on('mouseenter', 'img[src*="/im.vsco.co/"]', function() { 10 | const img = $(this); 11 | const src = img.attr('src'); 12 | const href = src.substring(0, src.indexOf('?')); 13 | hoverZoom.prepareLink(img, href); 14 | }) 15 | callback($(res), this.name); 16 | } 17 | }); 18 | -------------------------------------------------------------------------------- /plugins/wallbase_cc.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Wallbase.cc', 4 | prepareImgLinks:function (callback) { 5 | $('a[href*="/wallpaper/"] > img').filter(function() { 6 | return this.parentNode.href.match(/wallpaper\/\d+$/); 7 | }).one('mousemove', function() { 8 | hoverZoom.prepareFromDocument($(this.parentNode), this.parentNode.href, function(doc) { 9 | var img = doc.querySelector('img.wall'); 10 | if (img) { 11 | return img.src; 12 | } else { 13 | return false; 14 | } 15 | }); 16 | }); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /plugins/wdl.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'WDL', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src],[style*=url]', 10 | /\d+x\d+/, 11 | '1024x1024' 12 | ); 13 | 14 | callback($(res), this.name); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /plugins/weibo.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push( { 3 | name: 'Weibo', 4 | version: '2.0', 5 | prepareImgLinks: function(callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src]', 10 | /\/thumb\d+\//, 11 | '/original/' 12 | ); 13 | 14 | hoverZoom.urlReplace(res, 15 | 'img[src]', 16 | /\/(orj|mw)\d+\//, 17 | '/original/' 18 | ); 19 | 20 | hoverZoom.urlReplace(res, 21 | 'img[src]', 22 | /\/crop.*?\//, 23 | '/original/' 24 | ); 25 | 26 | hoverZoom.urlReplace(res, 27 | 'img[src]', 28 | /\/square.*?\//, 29 | '/original/' 30 | ); 31 | 32 | callback($(res), this.name); 33 | } 34 | }); 35 | -------------------------------------------------------------------------------- /plugins/wikifeet.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Wikifeet', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="wikifeet"],[style*="url"]', 10 | 'thumbs.', 11 | 'pics.' 12 | ); 13 | 14 | hoverZoom.urlReplace(res, 15 | 'img[src*="/t"],[style*="url"]', 16 | /\/t(\d+)/, 17 | '/$1' 18 | ); 19 | 20 | callback($(res), this.name); 21 | } 22 | }); 23 | -------------------------------------------------------------------------------- /plugins/wildcritters.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'wildcritters', 4 | version:'1.0', 5 | prepareImgLinks:function (callback) { 6 | 7 | var res = []; 8 | var extensions = ['jpg', 'png', 'gif', 'mp4', 'webm', 'webp']; 9 | 10 | // thumbnail : https://wildcritters.ws/thumbnails/67151b9eb96aeee4a6f1bfc5efbbec07.jpg 11 | // image : https://wildcritters.ws/images/67151b9eb96aeee4a6f1bfc5efbbec07.png 12 | $('img[src*="wildcritters"]').each(function() { 13 | var img = this, _img = $(img); 14 | var urls = []; 15 | 16 | $(extensions).each(function() { 17 | let url = undefined; 18 | url = img.src.replace(/\/thumbnails\/(.*)\.(.*)/, '/images/$1.' + this.toString()); 19 | if (url != img.src) { 20 | urls.push(url); 21 | } 22 | }); 23 | 24 | if (urls.length) { 25 | _img.data().hoverZoomSrc = urls; 26 | res.push(_img); 27 | } 28 | }); 29 | 30 | callback($(res), this.name); 31 | } 32 | }); -------------------------------------------------------------------------------- /plugins/wookmark.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'wookmark.com', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img[src*="wookmark.com"]', 9 | [/images\d+\.wookmark/, /profile\/\d+\//], 10 | ['images.wookmark', 'profile/'] 11 | ); 12 | 13 | callback($(res), this.name); 14 | } 15 | }); 16 | -------------------------------------------------------------------------------- /plugins/wretch_cc.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Wretch.cc', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | // Disabled for now due to a copy protection added by wretch.cc 7 | /*var res = []; 8 | hoverZoom.urlReplace(res, 9 | 'a img', 10 | '/thumbs/t', 11 | '/' 12 | ); 13 | callback($(res), this.name);*/ 14 | } 15 | }); 16 | -------------------------------------------------------------------------------- /plugins/wykop.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name: 'wykop.pl', 4 | version: '0.2', 5 | prepareImgLinks(callback) { 6 | const res = []; 7 | 8 | $('div.media-content.video').each((i, item) => { 9 | const a = $('a.ajax', item)[0]; 10 | const img = $('img.block.lazy', a)[0]; 11 | const data = $(img).data(); 12 | 13 | const url = a.href.match(/https?:\/\/(?:giant\.)?gfycat\.com\/([^.]+)(?:.+)?/); 14 | if (url !== null) { 15 | data.hoverZoomSrc = ['mp4', 'webm'].map(ext => `https://giant.gfycat.com/${url[1]}.${ext}`); 16 | } 17 | 18 | res.push($(img)); 19 | }); 20 | 21 | hoverZoom.urlReplace(res, 22 | 'img[src]', 23 | /,.*\./, 24 | '.' 25 | ); 26 | 27 | if (res.length > 0) { 28 | callback($(res), this.name); 29 | } 30 | }, 31 | }); 32 | -------------------------------------------------------------------------------- /plugins/wysp.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Wysp.ws', 4 | version:'1.1', 5 | prepareImgLinks:function (callback) { 6 | 7 | var res = []; 8 | 9 | hoverZoom.urlReplace(res, 10 | 'img[src]', 11 | /(.*)\/thumbs\/(.*)-th\.(.*)/, 12 | '$1/posts/$2v3.$3' 13 | ); 14 | 15 | hoverZoom.urlReplace(res, 16 | 'img[src]', 17 | '/users/avatars/', 18 | '/users/' 19 | ); 20 | 21 | callback($(res), this.name); 22 | } 23 | }); -------------------------------------------------------------------------------- /plugins/xuite.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Xuite', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | $('a.hoverZoomLink[href*="photo.xuite.net"], a.hoverZoomLink[href^="/"]').removeClass('hoverZoomLink'); 8 | hoverZoom.urlReplace(res, 9 | 'a img[src*="photo.xuite.net"]', 10 | /_[a-km-w]\./i, 11 | options.showHighRes ? '_x.' : '_l.', 12 | ':eq(0)' 13 | ); 14 | callback($(res), this.name); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /plugins/yam.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Yam', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 'img[src*="/t_"], img[src*="/s_"]', /\/[ts]_/, '/'); 8 | hoverZoom.urlReplace(res, 'img[src*="/tindex"]', '/tindex', '/index'); 9 | callback($(res), this.name); 10 | } 11 | }); 12 | -------------------------------------------------------------------------------- /plugins/yfrog.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Yfrog', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | $('a[data-expanded-url^="http://yfrog."], img[src*=":twthumb"]').each(function () { 8 | var _this = $(this), 9 | url = this.getAttribute('data-expanded-url') || this.getAttribute('src'); 10 | url = url.replace(':twthumb', ''); 11 | _this.data().hoverZoomSrc = [url + ':medium', url + ':frame']; 12 | res.push(_this); 13 | }); 14 | callback($(res), this.name); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /plugins/zenfolio.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | 3 | hoverZoomPlugins.push( { 4 | name: 'zenfolio', 5 | prepareImgLinks: function(callback) { 6 | var res = []; 7 | if (options.showHighRes) 8 | hoverZoom.urlReplace(res, 'a img.pv-img', /-\d+\.jpg/, '-5.jpg'); 9 | else 10 | hoverZoom.urlReplace(res, 'a img.pv-img', /-\d+\.jpg/, '-4.jpg'); 11 | callback($(res), this.name); 12 | } 13 | }); 14 | -------------------------------------------------------------------------------- /plugins/zhihu.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push( { 3 | name: 'Zhihu', 4 | version:'1.1', 5 | prepareImgLinks: function(callback) { 6 | var res = []; 7 | 8 | hoverZoom.urlReplace(res, 9 | 'img[src*="zhimg.com"]', 10 | /_(m|s|is)/, 11 | '_l' 12 | ); 13 | 14 | // image_xs.jpg -> image.jpg 15 | hoverZoom.urlReplace(res, 16 | 'img[src]', 17 | /_[a-z]{1,}\./, 18 | '.' 19 | ); 20 | 21 | // image_123x456.jpg -> image.jpg 22 | hoverZoom.urlReplace(res, 23 | 'img[src]', 24 | /_\d+x\d+\./, 25 | '.' 26 | ); 27 | 28 | callback($(res), this.name); 29 | } 30 | }); 31 | -------------------------------------------------------------------------------- /plugins/zing_vn.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'me.zing.vn', 4 | version:'0.1', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace(res, 8 | 'img.boderImg, [class*="imgAlbum"]', 9 | /_\d+_\d+\./, 10 | '.' 11 | ); 12 | hoverZoom.urlReplace(res, 13 | 'img[src*="avatar.me.zdn.vn"]', 14 | '_50_', 15 | '_180_', 16 | ':eq(0)' 17 | ); 18 | callback($(res), this.name); 19 | } 20 | }); 21 | -------------------------------------------------------------------------------- /plugins/zinio.js: -------------------------------------------------------------------------------- 1 | var hoverZoomPlugins = hoverZoomPlugins || []; 2 | hoverZoomPlugins.push({ 3 | name:'Zinio', 4 | version:'0.2', 5 | prepareImgLinks:function (callback) { 6 | var res = []; 7 | hoverZoom.urlReplace( 8 | res, 9 | 'a img[src*="http://imgs.zinio.com/magimages"], a img[src*="zinio.com/img?"]', 10 | /(_|size=)(\d{3})((.jpg)?)/i, 11 | '$1370$3' 12 | ); 13 | 14 | hoverZoom.urlReplace( 15 | res, 16 | 'img[src*="zinio"]', 17 | /\?.*/, 18 | '' 19 | ); 20 | 21 | callback($(res), this.name); 22 | } 23 | }); 24 | -------------------------------------------------------------------------------- /promo/300x300.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/promo/300x300.png -------------------------------------------------------------------------------- /promo/300x300.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/promo/300x300.psd -------------------------------------------------------------------------------- /promo/_locales/am/description.txt: -------------------------------------------------------------------------------- 1 | Zoom images/videos on all your favorite websites (Facebook, Amazon, etc). Hover your mouse over any image on the supported websites and the extension will automatically enlarge the image to its full size, making sure that it still fits into the browser window. 2 | 3 | This is an open source version of the original HoverZoom extension which is now overrun by malware and deleted from store. In this version all spyware has been removed, many bugs were fixed and new features were added. It doesn't collect any statistics whatsoever. The only permission it needs is to access data on all websites (to extract full images), and *optional* permissions to access browser history, download/save images or get tab urls for per-site configuration. 4 | 5 | Sometimes sites change design and when it happens, the extension needs to be updated. Please report any issues with zoom not working by using Support tab or https://github.com/extesy/hoverzoom/issues page. 6 | -------------------------------------------------------------------------------- /promo/_locales/ar/description.txt: -------------------------------------------------------------------------------- 1 | تكبير الصور/المقاطع في جميع مواقعك المفضلة (فيسبوك، أمازون، إلخ). حرك مؤشر الفأرة فوق أي صورة على المواقع المدعومة، وسوف تقوم الإضافة تلقائيًا بتكبير الصورة إلى حجمها الكامل، مع التأكد من استمرار ملاءمتها في نافذة المتصفح. 2 | 3 | هذه نسخة مفتوحة المصدر من امتداد HoverZoom الأصلي الذي تم حذفه من المتجر. في هذا الإصدار، تمت إزالة جميع برامج التجسس الذي سبب إزالة HoverZoom الأصلي من المتجر، وتم إصلاح العديد من الأخطاء وإضافة مميزات جديدة. هذا البرنامج لا يجمع أي إحصائيات بتاتا, هذا البرنامج لا يجمع أي إحصائيات بتاتا, الإذن الوحيد الذي يحتاجه هو الوصول إلى البيانات اللازمة (لاستخراج الصور الكاملة)، و اختياريا يحتاج الوصول إلى سجل المتصفح أو الحصول على عناوين الصفحات لوضع الإعدادات اللازمة لكل صفحة. 4 | 5 | في بعض الأحيان تغير المواقع تصميمها وعندما يحدث ذلك، يجب علينا تحديث الإضافة. الرجاء الإبلاغ عن أي مشاكل تواجهك في صفحة الدعم أو من خلال https://github.com/extesy/hoverzoom/issues. 6 | -------------------------------------------------------------------------------- /promo/_locales/bg/description.txt: -------------------------------------------------------------------------------- 1 | Мащабиране на изображения и видеоклипове за всичките ви любими уебсайтове (Facebook, Amazon и т.н.). Преместете курсора на мишката върху което и да е изображение на поддържаните сайтове и добавката автоматично ще увеличи изображението до пълен размер, така че то все още да се побира в прозореца на браузъра. 2 | 3 | Това е версия с отворен код на оригиналната добавка HoverZoom, която сега е наводнена със злонамерен софтуер и е премахната от магазина. В тази версия всичкият шпионски софтуер е премахнат, поправени са много грешки и са добавени нови компоненти. Тя не събира никакви статистически данни. Единственото разрешение, от което има нужда е да има достъп до данните на всички уебсайтове (за извличане на изображенията в пълен размер), и *по избор* разрешение за достъп до историята на браузъра, изтегляне/запазване на изображения или да получи url адресите на подпрозорец за конфигуриране на сайта. 4 | 5 | Понякога сайтовете променят дизайна си и когато това се случи, разширението трябва да бъде актуализирано. Моля, съобщавайте за всякакви проблеми с увеличението с помощта на раздела за поддръжка или страницата https://github.com/extesy/hoverzoom/issues. 6 | -------------------------------------------------------------------------------- /promo/_locales/bn/description.txt: -------------------------------------------------------------------------------- 1 | Zoom images/videos on all your favorite websites (Facebook, Amazon, etc). Hover your mouse over any image on the supported websites and the extension will automatically enlarge the image to its full size, making sure that it still fits into the browser window. 2 | 3 | This is an open source version of the original HoverZoom extension which is now overrun by malware and deleted from store. In this version all spyware has been removed, many bugs were fixed and new features were added. It doesn't collect any statistics whatsoever. The only permission it needs is to access data on all websites (to extract full images), and *optional* permissions to access browser history, download/save images or get tab urls for per-site configuration. 4 | 5 | Sometimes sites change design and when it happens, the extension needs to be updated. Please report any issues with zoom not working by using Support tab or https://github.com/extesy/hoverzoom/issues page. 6 | -------------------------------------------------------------------------------- /promo/_locales/ca/description.txt: -------------------------------------------------------------------------------- 1 | Zoom images/videos on all your favorite websites (Facebook, Amazon, etc). Hover your mouse over any image on the supported websites and the extension will automatically enlarge the image to its full size, making sure that it still fits into the browser window. 2 | 3 | This is an open source version of the original HoverZoom extension which is now overrun by malware and deleted from store. In this version all spyware has been removed, many bugs were fixed and new features were added. It doesn't collect any statistics whatsoever. The only permission it needs is to access data on all websites (to extract full images), and *optional* permissions to access browser history, download/save images or get tab urls for per-site configuration. 4 | 5 | Sometimes sites change design and when it happens, the extension needs to be updated. Please report any issues with zoom not working by using Support tab or https://github.com/extesy/hoverzoom/issues page. 6 | -------------------------------------------------------------------------------- /promo/_locales/cs/description.txt: -------------------------------------------------------------------------------- 1 | Zvětšení obrázků/videí na všech vašich oblíbených webových stránkách (Facebook, Amazon atd.). Najeďte myší na libovolný obrázek na podporovaných webových stránkách a rozšíření automaticky zvětší obrázek na plnou velikost a zajistí, aby se stále vešel do okna prohlížeče. 2 | 3 | Jedná se o open source verzi původního rozšíření HoverZoom, které je nyní napadeno malwarem a odstraněno z obchodu. V této verzi byl odstraněn veškerý spyware, opraveno mnoho chyb a přidány nové funkce. Neshromažďuje žádné statistiky. Jediné oprávnění, které potřebuje, je přístup k datům na všech webových stránkách (pro extrakci celých obrázků) a *volitelná* oprávnění pro přístup k historii prohlížeče, stahování/ukládání obrázků nebo získávání adres záložek pro konfiguraci jednotlivých stránek. 4 | 5 | Někdy se změní design stránek, a když se tak stane, je třeba rozšíření aktualizovat. Případné problémy s nefunkčním zoomem nahlaste na kartě Podpora nebo na stránce https://github.com/extesy/hoverzoom/issues. 6 | -------------------------------------------------------------------------------- /promo/_locales/da/description.txt: -------------------------------------------------------------------------------- 1 | Zoom billeder/videoer på alle dine yndlingswebsteder (Facebook, Amazon osv.). Hold musen over et billede på de understøttede websteder, og udvidelsen vil automatisk forstørre billedet til fuld størrelse og sørge for, at det stadig passer ind i browservinduet. 2 | 3 | Dette er en open source-version af den oprindelige HoverZoom-udvidelse, som nu er blevet overrendt af malware og slettet fra lageret. I denne version er al spyware fjernet, mange fejl er rettet, og der er tilføjet nye funktioner. Der indsamles ikke nogen som helst statistik. Den eneste tilladelse, den har brug for, er adgang til data på alle websteder (for at udtrække komplette billeder), og *valgfri* tilladelser til at få adgang til browserhistorik, downloade/gemme billeder eller hente faneblade-urls til konfiguration pr. websted. 4 | 5 | Nogle gange ændrer webstederne design, og når det sker, skal udvidelsen opdateres. Du bedes rapportere eventuelle problemer med zoom, der ikke fungerer, ved at bruge fanen Support eller https://github.com/extesy/hoverzoom/issues. 6 | -------------------------------------------------------------------------------- /promo/_locales/de/description.txt: -------------------------------------------------------------------------------- 1 | Vergrößern Sie Bilder/Videos auf all Ihren bevorzugten Websites (Facebook, Amazon usw.). Bewegen Sie die Maus über ein Bild auf den unterstützten Websites und die Erweiterung wird das Bild automatisch in seiner vollen Größe darstellen und dabei dafür sorgen, dass es noch in das Browserfenster passt. 2 | 3 | Dies ist eine Open-Source-Version der ursprünglichen HoverZoom Erweiterung die nach Malware-Befall aus Store entfernt wurde. In dieser Version wurde die Spyware entfernt, viele Fehler behoben und neue Features hinzugefügt. Sie erhebt keinerlei statistische Daten. Die einzige Berechtigung, die es benötigt, ist der Zugriff auf die Daten aller Websites (um vollständige Bilder zu extrahieren) und *optionale* Berechtigungen für den Zugriff auf die Browser-Historie, das Herunterladen/Speichern von Bildern oder das Abrufen von Tab-URLs für die Konfiguration pro Website. 4 | 5 | Manchmal ändern Websites ihr Design, und wenn das passiert, muss die Erweiterung aktualisiert werden. Bitte melden Sie etwaige Probleme mit nicht funktionierendem Zoom auf der Support-Seite im Store oder unter https://github.com/extesy/hoverzoom/issues. 6 | -------------------------------------------------------------------------------- /promo/_locales/el/description.txt: -------------------------------------------------------------------------------- 1 | Μεγέθυνση εικόνων/βίντεο σε όλους τους αγαπημένους σας ιστότοπους (Facebook, Amazon κ.λπ.). Περάστε το ποντίκι σας πάνω από οποιαδήποτε εικόνα στους υποστηριζόμενους ιστότοπους και η επέκταση θα μεγεθύνει αυτόματα την εικόνα στο πλήρες μέγεθός της, διασφαλίζοντας ότι εξακολουθεί να χωράει στο παράθυρο του προγράμματος περιήγησης. 2 | 3 | Πρόκειται για μια έκδοση ανοιχτού κώδικα της αρχικής επέκτασης HoverZoom, η οποία έχει πλέον κατακλυστεί από κακόβουλο λογισμικό και έχει διαγραφεί από το κατάστημα. Σε αυτή την έκδοση έχει αφαιρεθεί όλο το spyware, έχουν διορθωθεί πολλά σφάλματα και έχουν προστεθεί νέες λειτουργίες. Δεν συλλέγει κανένα στατιστικό στοιχείο. Το μόνο δικαίωμα που χρειάζεται είναι η πρόσβαση σε δεδομένα όλων των ιστότοπων (για την εξαγωγή πλήρων εικόνων), και *προαιρετικά* δικαιώματα για πρόσβαση στο ιστορικό του προγράμματος περιήγησης, λήψη/αποθήκευση εικόνων ή λήψη url καρτελών για διαμόρφωση ανά ιστότοπο. 4 | 5 | Μερικές φορές οι ιστότοποι αλλάζουν σχεδιασμό και όταν αυτό συμβαίνει, η επέκταση πρέπει να ενημερωθεί. Παρακαλούμε αναφέρετε τυχόν προβλήματα με το ζουμ που δεν λειτουργεί χρησιμοποιώντας την καρτέλα Υποστήριξη ή τη σελίδα https://github.com/extesy/hoverzoom/issues. 6 | -------------------------------------------------------------------------------- /promo/_locales/es/description.txt: -------------------------------------------------------------------------------- 1 | Amplía las imágenes/vídeos en todos tus sitios favoritos (Facebook, Amazon, etc). Coloca el ratón sobre cualquier imagen en cualquiera de los sitios soportados y la extensión lo ampliará automáticamente a su tamaño original, asegurándose que queda dentro de la ventana del navegador. 2 | 3 | Esta es una versión de código abierto (open source) de la extensión original HoverZoom, la cual fue plagada de virus y borrada de la tienda. En esta versión todos los virus fueron eliminados, varios errores corregidos, y nuevas características fueron agregadas. Por defecto, no recopila ninguna estadística. El único permiso que necesita es acceder a los datos en todos los sitios web (para extraer imágenes completas), y permisos *opcionales* para acceder al historial del navegador, descargar/guardar imágenes u obtener las urls de las fichas para la configuración por sitio. 4 | 5 | Algunas veces los sitios cambian su diseño o estructura interna, y cuando eso pase la extensión necesita ser actualizada. Por favor reporta cualquier inconveniente cuando el zoom no esté funcionando usando la pestaña de soporte, o en nuestra página de github 'https://github.com/extesy/hoverzoom/issues'. 6 | -------------------------------------------------------------------------------- /promo/_locales/et/description.txt: -------------------------------------------------------------------------------- 1 | Suurendage pilte/videosid kõigil oma lemmikveebisaitidel (Facebook, Amazon jne). Viige hiirega mis tahes pildi kohale toetatud veebisaitidel ja laiendus suurendab pilti automaatselt täissuurusesse, tagades, et see mahub endiselt brauseriaknasse. 2 | 3 | See on avatud lähtekoodiga versioon algsest HoverZoomi laiendusest, mis on nüüd pahavara poolt üle käidud ja poest kustutatud. Selles versioonis on eemaldatud kõik nuhkvara, parandatud paljud vead ja lisatud uusi funktsioone. See ei kogu mingit statistikat. Ainus luba, mida ta vajab, on juurdepääs kõikidele veebisaitide andmetele (täiskujutiste väljavõtmiseks) ja *valikulised* õigused juurdepääsuks brauseri ajaloole, piltide allalaadimiseks/salvestamiseks või vahekaartide URL-ide saamiseks veebisaidipõhise konfiguratsiooni jaoks. 4 | 5 | Mõnikord muutub veebilehtede kujundus ja kui see juhtub, tuleb laiendust uuendada. Palun teatage kõigist probleemidest, mille puhul suum ei tööta, kasutades vahekaarti Support või lehekülge https://github.com/extesy/hoverzoom/issues. 6 | -------------------------------------------------------------------------------- /promo/_locales/fa/description.txt: -------------------------------------------------------------------------------- 1 | Zoom images/videos on all your favorite websites (Facebook, Amazon, etc). ماوس را روی تصاویر وب سایت های مورد پشتیبانی ببرید و تصویر به صورت خودکار به اندازه کامل آن نمایش داده میشد. اطمینان حاصل کنید متناسب با اندازه پنجره مرورگر باشد. 2 | 3 | این نسخه از فرمت HoverZoom اصلی است که در حال حاضر تاخت و تاز کردن تروجان و حذف از فروشگاه است. در این نسخه تمام جاسوسافزار حذف شده اند. بسیاری از اشکالات رفع و ویژگی های جدید اضافه شده است. It doesn't collect any statistics whatsoever. The only permission it needs is to access data on all websites (to extract full images), and *optional* permissions to access browser history, download/save images or get tab urls for per-site configuration. 4 | 5 | Sometimes sites change design and when it happens, the extension needs to be updated. لطفا هر گونه اشکال در عملکرد Hover Zoom را با استفاده از برگه پشتیبانی یا از طریق https://github.com/extesy/hoverzoom/issues گزارش دهید. 6 | -------------------------------------------------------------------------------- /promo/_locales/fi/description.txt: -------------------------------------------------------------------------------- 1 | Zoomaa kuvia/videoita kaikilla suosikkisivustoillasi (Facebook, Amazon jne.). Vie hiiri minkä tahansa kuvan päälle tuetuilla verkkosivustoilla, ja laajennus suurentaa kuvan automaattisesti täyteen kokoonsa varmistaen, että se mahtuu edelleen selainikkunaan. 2 | 3 | Tämä on avoimen lähdekoodin versio alkuperäisestä HoverZoom-laajennuksesta, joka on nyt haittaohjelmien valtaama ja poistettu kaupasta. Tässä versiossa kaikki vakoiluohjelmat on poistettu, monia virheitä on korjattu ja uusia ominaisuuksia on lisätty. Se ei kerää minkäänlaisia tilastoja. Ainoa lupa, jonka se tarvitsee, on päästä käsiksi kaikkien verkkosivustojen tietoihin (koko kuvien poimimiseen) ja *valinnaiset* oikeudet käyttää selainhistoriaa, ladata/tallentaa kuvia tai saada välilehtien URL-osoitteita sivustokohtaista konfigurointia varten. 4 | 5 | Joskus sivustojen suunnittelu muuttuu, ja kun näin tapahtuu, laajennusta on päivitettävä. Ilmoita mahdollisista ongelmista, joissa zoomaus ei toimi, käyttämällä Tuki-välilehteä tai https://github.com/extesy/hoverzoom/issues -sivua. 6 | -------------------------------------------------------------------------------- /promo/_locales/fil/description.txt: -------------------------------------------------------------------------------- 1 | Mag-zoom ng mga imahe/video sa lahat ng iyong mga paboritong website (Facebook, Amazon, etc). I-hover ang iyong mouse sa anumang imahe sa mga sinusuportahang website at awtomatikong palakihin ng extension ang imahe sa buong laki nito, na tinitiyak na umaangkop pa rin ito sa window ng browser. 2 | 3 | Ito ay isang open source na bersyon ng orihinal na extension ng HoverZoom na ngayon ay na-overrun ng malware at na-delete sa store. Sa bersyong ito lahat ng spyware ay inalis, maraming mga bug ang naayos at mga bagong feature ang naidagdag. Hindi ito nangongolekta ng anumang istatistika kahit ano pa man. Ang tanging pahintulot na kailangan nito ay ang pag-access ng data sa lahat ng mga website (upang mag-extract ng mga buong imahe), at *opsyonal* na mga pahintulot upang ma-access ang kasaysayan ng browser, mag-download/mag-save ng mga imahe o makakuha ng mga url ng tab para sa configuration ng bawat site. 4 | 5 | Minsan nagbabago ang disenyo ng mga site at kapag nangyari ito, kailangang i-update ang extension. Pakiulat ang anumang mga isyu sa pag-zoom na hindi gumagana sa pamamagitan ng paggamit ng Support tab o https://github.com/extesy/hoverzoom/issues na pahina. 6 | -------------------------------------------------------------------------------- /promo/_locales/fr/description.txt: -------------------------------------------------------------------------------- 1 | Zoomez des images & vidéos sur tous vos sites favoris (Facebook, Amazon, etc). Passez votre souris sur n'importe quelle image dans un site pris en charge et cette extension agrandira automatiquement l'image vers sa taille réelle, en s'assurant qu'elle entre correctement dans la fenêtre. 2 | 3 | Cette extension est une version open source du premier HoverZoom qui est maintenant envahie par les malwares et qui a été supprimée du Store. Dans cette version tous les logiciels espions ont été supprimés, de nombreux bugs ont été corrigés et de nouvelles fonctionnalités ont été ajoutées. Il ne collecte aucune statistique par défaut. La seule permission *requise* est d’accéder aux données de tous les sites (pour pouvoir extraire les images en taille réelle), et vous pouvez aussi accorder les permissions *optionnelles* d’accès à l'historique de navigation, de téléchargement des images ou d'accès aux urls des onglets pour la configuration par site. 4 | 5 | Parfois les sites changent de design et quand cela arrive l'extension doit être mise à jour. Veuillez signaler tout problème de zoom via l'onglet "Support" ou sur https://github.com/extesy/hoverzoom/issues. 6 | -------------------------------------------------------------------------------- /promo/_locales/gu/description.txt: -------------------------------------------------------------------------------- 1 | Zoom images/videos on all your favorite websites (Facebook, Amazon, etc). Hover your mouse over any image on the supported websites and the extension will automatically enlarge the image to its full size, making sure that it still fits into the browser window. 2 | 3 | This is an open source version of the original HoverZoom extension which is now overrun by malware and deleted from store. In this version all spyware has been removed, many bugs were fixed and new features were added. It doesn't collect any statistics whatsoever. The only permission it needs is to access data on all websites (to extract full images), and *optional* permissions to access browser history, download/save images or get tab urls for per-site configuration. 4 | 5 | Sometimes sites change design and when it happens, the extension needs to be updated. Please report any issues with zoom not working by using Support tab or https://github.com/extesy/hoverzoom/issues page. 6 | -------------------------------------------------------------------------------- /promo/_locales/he/description.txt: -------------------------------------------------------------------------------- 1 | הגדילו תמונות/וידאו בכל האתרים הפופולריים (פייסבוק, אמזון וכו'). העבירו את העכבר מעל כל תמונה באתרים נתמכים והתוסף יגדיל את התמונה באופן אוטומטי תוך כדי התאמה למידות חלון הדפדפן. 2 | 3 | זוהי גירסת קוד פתוח של התוסף המקורי HoverZoom שכעת מלא בתכניות זדוניות והוסר מהחנות. בגרסא זו כל הרוגלות והווירוסים הוסרו, באגים רבים נפתרו ואפשרויות רבות נוספו. התוסף לא אוסף מידע סטטיסטי כלל. ההרשאה היחידה היא לכל נתוני האתרים שהמשתמש נכנס אליהם (כדי להשיג את כתובות הURL של התמונות ברזלוציה המקורית), וכן ניתן *לבחירתכם* לאשר גישה להיסטוריית הדפדפן, הורדה/שמירה של תמונות או קריאה של כתובת הלשונית לצורך הגדרות לאתר ספציפי. 4 | 5 | לעתים אתרים מתעדכנים, במקרים אלה יש לעדכן את התוסף. על כל תקלה שהזום לא עובד יש לדווח בעמוד הGithb של התוסף, בכתובת https://github.com/extesy/hoverzoom/issues. 6 | -------------------------------------------------------------------------------- /promo/_locales/hi/description.txt: -------------------------------------------------------------------------------- 1 | Zoom images/videos on all your favorite websites (Facebook, Amazon, etc). समर्थित वेबसाइटों पर किसी भी छवि पर अपने माउस को घुमाएं और विस्तार स्वचालित रूप से छवि को अपने पूर्ण आकार में बड़ा कर देगा, यह सुनिश्चित करता है कि यह अभी भी ब्राउज़र विंडो में फिट बैठता है। 2 | 3 | यह मूल होवरज़ूम एक्सटेंशन का एक ओपन सोर्स वर्जन है जो अब मालवेयर द्वारा ओवररन हो गया और स्टोर से डिलीट हो गया। इस संस्करण में सभी स्पाइवेयर को हटा दिया गया है, कई बग्स को ठीक किया गया था और नई सुविधाओं को जोड़ा गया था। It doesn't collect any statistics whatsoever. The only permission it needs is to access data on all websites (to extract full images), and *optional* permissions to access browser history, download/save images or get tab urls for per-site configuration. 4 | 5 | Sometimes sites change design and when it happens, the extension needs to be updated. कृपया समर्थन टैब या https://github.com/extesy/hoverzoom/issues पृष्ठ का उपयोग करके ज़ूम न करने वाले किसी भी समस्या की रिपोर्ट करें। 6 | -------------------------------------------------------------------------------- /promo/_locales/hr/description.txt: -------------------------------------------------------------------------------- 1 | Povećajte slike/videozapise sa svih vaših omiljenih stranica (Facebook, Amazon, itd.). Postavite svoj miš iznad bilo koje slike na podržanoj web stranici i proširenje će automatski povećati sliku na svoju punu veličinu, pazeći da ipak još stane u prozor preglednika. 2 | 3 | Ovo je open source verzija od originalnog HoverZoom proširenja koje trenutno zaraženo s virusima i uklonjeno iz trgovine. U ovoj verziji svi virusi su uklonjeni, mnoge greške su ispravljene i dodane su nove funkcije. Ne prikuplja nikakve statističke podatke. Jedino dopuštenje koje je potrebno je pristup podatcima na svim web stranicama (kako bi pronašao pune slike), i *opcionalno* dopuštenje za pristup povijesti preglednika, preuzimanje/spremanje slika ili url karticama za po stranici postavke. 4 | 5 | Ponekad stranice promijene dizajn, kada se to dogodi potrebno je ažurirati proširenje. Molimo vas, prijavite bilo koji problem sa ne funkcioniranjem zumiranja koristeći karticu Podrška ili na stranici https://github.com/extesy/hoverzoom/issues page. 6 | -------------------------------------------------------------------------------- /promo/_locales/hu/description.txt: -------------------------------------------------------------------------------- 1 | Nagyíts fel képeket és videókat a weboldalakon (Facebook, Amazon stb.). Vidd az egeret bármilyen kép fölé a támogatott webhelyeken és a bővitmény automatikusan fel fogja nagyítani a teljes méretére, ügyelve arra hogy illeszkedik a böngésző ablakához. 2 | 3 | Ez egy nyílt forráskódú változata az eredeti HoverZoom bővitménynek, amely most már vírusokkal teli és le lett szedve az áruházból. Ebben a verzióban minden kémprogram el lett távolítva, rengeteg hiba ki lett javítva, új funkciókkal bővült a bővítmény. Éppúgy nem is gyűjt statisztikákat. Az egyetlen engedély ami szükséges az a hozzáférés az adatokhoz minden webhelyen (hogy a képeket fel tudja nagyítani), és *opcionális* engedélyek a böngészési előzmények eléréséhez, képek letöltéséhez/mentéséhez vagy az oldal URL-ek eléréséhez az oldalankénti konfigurációhoz. 4 | 5 | Néha az oldalak kinézetet változtatnak. Ha ez megtörténik frissíteni kell a bővítményt. Kérlek jelents bármilyen hibát ha a nagyítás nem működik a Támogatás oldal használatával, vagy a https://github.com/extesy/hoverzoom/issues oldalon. 6 | -------------------------------------------------------------------------------- /promo/_locales/id/description.txt: -------------------------------------------------------------------------------- 1 | Zoom gambar / video di semua situs web favorit Anda (Facebook, Amazon, dll). Arahkan mouse anda ke gambar apapun pada situs web yang didukung dan ekstensi akan secara otomatis memperbesar gambar ke ukuran penuh, memastikan bahwa itu masih cocok ke jendela browser. 2 | 3 | Ini adalah open source versi asli HoverZoom ekstensi yang sekarang dikuasai oleh malware dan dihapus dari toko. Dalam versi ini semua spyware telah dihapus, banyak bug yang diperbaiki dan fitur baru yang ditambahkan. Tidak mengumpulkan statistik apa pun. Satu-satunya izin yang dibutuhkan adalah untuk mengakses data di semua situs web (untuk mengekstrak gambar lengkap), dan izin *opsional* untuk mengakses riwayat browser, mengunduh/menyimpan gambar atau mendapatkan url tab untuk konfigurasi per situs. 4 | 5 | Terkadang situs mengubah desain dan ketika itu terjadi, ekstensi perlu diperbarui. Silakan laporkan masalah apapun dengan zoom tidak bekerja dengan menggunakan Dukungan tab atau https://github.com/extesy/hoverzoom/issues halaman. 6 | -------------------------------------------------------------------------------- /promo/_locales/it/description.txt: -------------------------------------------------------------------------------- 1 | Zoomate le immagini/video su tutti i vostri siti web preferiti (Facebook, Amazon, ecc.). Passa il mouse su qualsiasi immagine sui siti supportati e l'estensione allargherà automaticamente l'immagine alla sua dimensione massima, accertandosi di adattarla alla finestra del browser. 2 | 3 | Questa è una versione open source dell'estensione originale HoverZoom la quale è ora piena di malware ed eliminata dallo store. In questa versione tutti gli spyware sono stati rimossi, molti bug sono stati corretti e sono state aggiunte nuove funzioni. Non raccoglie alcuna statistica. L'unica autorizzazione di cui ha bisogno è quella di accedere ai dati di tutti i siti web (per estrarre le immagini complete) e le autorizzazioni *opzionali* per accedere alla cronologia del browser, scaricare/salvare le immagini o ottenere gli url delle schede per la configurazione di ogni sito. 4 | 5 | A volte i siti cambiano design e quando ciò accade, l'estensione deve essere aggiornata. Segnala eventuali problemi con lo zoom nella scheda Assistenza o su https://github.com/extesy/hoverzoom/issues . 6 | -------------------------------------------------------------------------------- /promo/_locales/ja/description.txt: -------------------------------------------------------------------------------- 1 | お気に入りのウェブサイト(Facebook、Amazonなど)で画像/動画を拡大表示できます。 この拡張機能は、対応しているウェブサイトにある画像上にマウスカーソルを置くと、フルサイズの画像をブラウザのウィンドウ内に収まる形で自動的に拡大して表示します。 この拡張機能は、対応しているウェブサイトにある画像上にマウスカーソルを置くと、フルサイズの画像をブラウザのウィンドウ内に収まる形で自動的に拡大して表示します。 2 | 3 | この拡張機能は、オリジナル版であるHoverZoneのオープンソース版であり、オリジナル版はマルウェアが仕掛けられていたためにストア上から削除されました。 このバージョンでは、全てのスパイウェアが削除されており、多くのバグが修正され、新しい機能が追加されました。 統計は一切取らない。 必要なパーミッションは、すべてのWebサイトのデータへのアクセス(フル画像の抽出)と、ブラウザ履歴へのアクセス、画像のダウンロード/保存、サイトごとの設定用のタブURLの取得の*オプション*パーミッションのみです。 4 | 5 | サイトのデザインが変わることがあり、その時は拡張機能を更新する必要があります。 サイトのデザインが変わることがあり、その時は拡張機能を更新する必要があります。 ズームが機能ない問題が発生した場合には、サポートタブまたはhttps://github.com/extesy/hoverzoom/issuesのページから報告してくださいますようお願い致します。 6 | -------------------------------------------------------------------------------- /promo/_locales/kn/description.txt: -------------------------------------------------------------------------------- 1 | Zoom images/videos on all your favorite websites (Facebook, Amazon, etc). Hover your mouse over any image on the supported websites and the extension will automatically enlarge the image to its full size, making sure that it still fits into the browser window. 2 | 3 | This is an open source version of the original HoverZoom extension which is now overrun by malware and deleted from store. In this version all spyware has been removed, many bugs were fixed and new features were added. It doesn't collect any statistics whatsoever. The only permission it needs is to access data on all websites (to extract full images), and *optional* permissions to access browser history, download/save images or get tab urls for per-site configuration. 4 | 5 | Sometimes sites change design and when it happens, the extension needs to be updated. Please report any issues with zoom not working by using Support tab or https://github.com/extesy/hoverzoom/issues page. 6 | -------------------------------------------------------------------------------- /promo/_locales/ko/description.txt: -------------------------------------------------------------------------------- 1 | 모든 즐겨찾기 사이트(페이스북, 아마존 등)의 사진/동영상을 확대해서 보여줍니다. 이 확장프로그램은 지원되는 웹사이트에서 이미지위에 마우스를 올리면 자동으로 최대 사이즈의 이미지를 브라우저 창 크기에 맞게 보여줍니다. 2 | 3 | 이 확장프로그램은 악성코드로 인해 스토어에서 삭제된 HoverZoom 확장프로그램의 오픈소스 버전입니다. 이 버전에서는 모든 스파이웨어를 삭제하고 많은 버그를 수정, 새로운 기능이 추가되었습니다. 어떠한 종류의 통계 데이터든 수집하지 않습니다. 필요한 유일한 권한은 '방문하는 웹사이트의 전체 데이터 조회 및 변경(최대 사이즈의 이미지를 가져오기 위해서)'을 필요로 하고 *선택적으로* 브라우저의 방문 기록, 사진 다운로드 및 저장, 사이트별 설정을 위한 탭 URL 가져오기 권한을 요구할 수 있습니다. 4 | 5 | 가끔 사이트의 디자인이 변경될 때 확장 프로그램의 업데이트가 필요할 수 있습니다. 만약 HoverZoom+ 을 사용중에 제대로 동작하지 않거나 개선사항이 있다면 스토어의 지원 탭 이나 https://github.com/extesy/hoverzoom/issues 페이지에 보고 바랍니다. 6 | -------------------------------------------------------------------------------- /promo/_locales/lt/description.txt: -------------------------------------------------------------------------------- 1 | Padidinkite vaizdus ir vaizdo įrašus visose mėgstamiausiose svetainėse ("Facebook", "Amazon" ir kt.). Užveskite pelę ant bet kurio palaikomų svetainių paveikslėlio ir plėtinys automatiškai padidins paveikslėlį iki pilno dydžio, užtikrindamas, kad jis vis dar tilptų į naršyklės langą. 2 | 3 | Tai atvirojo kodo originalaus "HoverZoom" plėtinio, kuris dabar yra užvaldytas kenkėjiškų programų ir ištrintas iš parduotuvės, versija. Šioje versijoje pašalintos visos šnipinėjimo programos, ištaisyta daug klaidų ir pridėta naujų funkcijų. Joje nerenkama jokia statistika. Vienintelis leidimas, kurio jai reikia, yra prieiga prie visų svetainių duomenų (kad būtų galima išgauti visus vaizdus), ir *neprivalomi* leidimai prieiti prie naršyklės istorijos, atsisiųsti/išsaugoti vaizdus arba gauti skirtukų adresus, kad būtų galima konfigūruoti kiekvieną svetainę. 4 | 5 | Kartais svetainės keičia dizainą, o kai tai įvyksta, plėtinį reikia atnaujinti. Praneškite apie bet kokias problemas, susijusias su neveikiančiu priartinimu, naudodamiesi palaikymo skirtuku arba puslapiu https://github.com/extesy/hoverzoom/issues. 6 | -------------------------------------------------------------------------------- /promo/_locales/lv/description.txt: -------------------------------------------------------------------------------- 1 | Palielina attēlus/video visās jūsu iecienītākajās vietnēs (Facebook, Amazon u. c.). Novietojiet peles kursoru virs jebkura attēla atbalstītajā vietnē, un paplašinājums automātiski palielinās attēlu līdz to pilnajam izmēram, iekļaujoties pārlūka loga izmēros. 2 | 3 | Šī ir atvērtā pirmkoda HoverZoom paplašinājuma versija, kuras sākotnējā, oriģinālā, versija tās eksistēšanas beigās tika izplatīta ar ļaunprātīgu programmatūru un dzēsta no veikala. Šajā versijā dzēstas visas spiegprogrammatūras, novērstas daudzas kļūdas un pievienotas jaunas funkcijas. Paplašinājums nevāc jebkādus statistikas datus. Vienīgā nepieciešamā atļauja ir piekļuve visu vietņu datiem (lai iegūtu pilnus attēlus), un *pēc izvēles* var iedot piekļuvi pārlūka vēsturei, lejupielādēt/glabāt attēlus un iegūt cilņu vietņu saites balstoties uz konkrētās vietnes konfigurācijas. 4 | 5 | Dažreiz vietnes mēdz izmainīt dizainu, un, kad tas notiek, paplašinājumu nepieciešams atjaunināt. Lūdzu, ziņojiet par jebkādām problēmām, kas saistītas ar tālummaiņu, izmantojot Atbalsta cilni vai https://github.com/extesy/hoverzoom/issues vietni. 6 | -------------------------------------------------------------------------------- /promo/_locales/ml/description.txt: -------------------------------------------------------------------------------- 1 | Zoom images/videos on all your favorite websites (Facebook, Amazon, etc). Hover your mouse over any image on the supported websites and the extension will automatically enlarge the image to its full size, making sure that it still fits into the browser window. 2 | 3 | This is an open source version of the original HoverZoom extension which is now overrun by malware and deleted from store. In this version all spyware has been removed, many bugs were fixed and new features were added. It doesn't collect any statistics whatsoever. The only permission it needs is to access data on all websites (to extract full images), and *optional* permissions to access browser history, download/save images or get tab urls for per-site configuration. 4 | 5 | Sometimes sites change design and when it happens, the extension needs to be updated. Please report any issues with zoom not working by using Support tab or https://github.com/extesy/hoverzoom/issues page. 6 | -------------------------------------------------------------------------------- /promo/_locales/mr/description.txt: -------------------------------------------------------------------------------- 1 | Zoom images/videos on all your favorite websites (Facebook, Amazon, etc). Hover your mouse over any image on the supported websites and the extension will automatically enlarge the image to its full size, making sure that it still fits into the browser window. 2 | 3 | This is an open source version of the original HoverZoom extension which is now overrun by malware and deleted from store. In this version all spyware has been removed, many bugs were fixed and new features were added. It doesn't collect any statistics whatsoever. The only permission it needs is to access data on all websites (to extract full images), and *optional* permissions to access browser history, download/save images or get tab urls for per-site configuration. 4 | 5 | Sometimes sites change design and when it happens, the extension needs to be updated. Please report any issues with zoom not working by using Support tab or https://github.com/extesy/hoverzoom/issues page. 6 | -------------------------------------------------------------------------------- /promo/_locales/ms/description.txt: -------------------------------------------------------------------------------- 1 | Zoom images/videos on all your favorite websites (Facebook, Amazon, etc). Hover your mouse over any image on the supported websites and the extension will automatically enlarge the image to its full size, making sure that it still fits into the browser window. 2 | 3 | This is an open source version of the original HoverZoom extension which is now overrun by malware and deleted from store. In this version all spyware has been removed, many bugs were fixed and new features were added. It doesn't collect any statistics whatsoever. The only permission it needs is to access data on all websites (to extract full images), and *optional* permissions to access browser history, download/save images or get tab urls for per-site configuration. 4 | 5 | Sometimes sites change design and when it happens, the extension needs to be updated. Please report any issues with zoom not working by using Support tab or https://github.com/extesy/hoverzoom/issues page. 6 | -------------------------------------------------------------------------------- /promo/_locales/nl/description.txt: -------------------------------------------------------------------------------- 1 | Vergroot afbeeldingen/video's op al je favoriete websites (Facebook, Amazon, etc). Houd uw muis over een plaatje op de ondersteunde websites en de extensie zal het desbetreffende plaatje vergroten tot zijn volledige grootte, het plaatje zal altijd dusdanig geschaald worden dat het wel in uw browser scherm past. 2 | 3 | Dit is een open source versie van de originele HoverZoom extensie die compleet is overspoeld door malware en is verwijderd uit de chrome web store. In deze versie is alle spyware verwijderd, veel bugs opgelost en zijn er nieuwe functies aan toegevoegd. Het verzamelt helemaal geen statistieken. De enige permissie die het nodig heeft is om toegang te krijgen tot data op alle websites (om volledige afbeeldingen te verkrijgen), en *optioneel* rechten om toegang te krijgen tot browsergeschiedenis, download/opslaan van afbeeldingen of tab-urls voor per-site configuratie. 4 | 5 | Soms veranderen sites van ontwerp en wanneer dat gebeurt, moet de extensie worden bijgewerkt. Meld eventuele problemen met de zoomfunctie via de Support tab of via https://github.com/extesy/hoverzoom/issues page. 6 | -------------------------------------------------------------------------------- /promo/_locales/no/description.txt: -------------------------------------------------------------------------------- 1 | Zoom images/videos on all your favorite websites (Facebook, Amazon, etc). Hold musen over et bilde på det støttede nettsteder, og utvidelsen vil automatisk forstørre bildet til sin fulle størrelse, noe som gjør at det fortsatt passer inn i nettleser-vinduet. 2 | 3 | Dette er en åpen kildekode-versjon av den opprinnelige HoverZoom extension som nå er overtatt av malware og slettet fra butikken. I denne versjonen alt spyware har blitt fjernet, mange feil ble fikset og nye funksjoner ble lagt til. It doesn't collect any statistics whatsoever. The only permission it needs is to access data on all websites (to extract full images), and *optional* permissions to access browser history, download/save images or get tab urls for per-site configuration. 4 | 5 | Sometimes sites change design and when it happens, the extension needs to be updated. Vennligst rapportere eventuelle problemer med zoom fungerer ikke ved hjelp av kategorien Støtte eller https://github.com/extesy/hoverzoom/issues -siden. 6 | -------------------------------------------------------------------------------- /promo/_locales/pl/description.txt: -------------------------------------------------------------------------------- 1 | Powiększaj zdjęcia/filmy na wszystkich swoich ulubionych stronach internetowych (Facebook, Amazon, itp.). Najedź myszką na dowolny oberazek na obsługiwanych stronach i to rozszerzenie automatycznie powiększy obrazek do jego pełnego rozmiaru, upewniając się, że nadal zmieści się w oknie przeglądarki internetowej. 2 | 3 | Jest to wersja open source oryginalnego rozszerzenia HoverZoom, które jest teraz zainfekowane wirusami i usunięte ze sklepu. W tej wersji każde spyware zostało usunięte, wiele błędów zostało naprawionych i nowe funkcje zostały dodane. Nie zbiera żadnych statystyk. Jedyne uprawnienia, jakich potrzebuje, to dostęp do danych na wszystkich stronach internetowych (w celu wyodrębnienia pełnych obrazów) oraz *opcjonalne* uprawnienia do dostępu do historii przeglądarki, pobierania/zapisywania obrazów lub uzyskiwania adresów URL do zakładek w celu konfiguracji poszczególnych stron. 4 | 5 | Czasami witryny zmieniają projekt, a kiedy to się dzieje, rozszerzenie musi zostać zaktualizowane. Zgłoś wszelkie błedy z niedziałającym przybliżeniem używając karty Wsparcie lub na stronie https://github.com/extesy/hoverzoom/issues 6 | -------------------------------------------------------------------------------- /promo/_locales/pt_BR/description.txt: -------------------------------------------------------------------------------- 1 | Amplie imagens/vídeos em todos os seus sites favoritos (Facebook, Amazon, etc). Passe o mouse sobre qualquer imagem dos sites suportados e a extensão irá automaticamente ampliar a imagem para seu o tamanho real, certificando-se que caiba na janela do seu navegador. 2 | 3 | Esta é uma versão de código aberto para a extensão HoverZoom na qual agora está cheia de malwares e foi removida da loja. Todos os spywares foram removidos desta versão, muitos bugs foram corrigidos e novas funcionalidades foram adicionadas. Não há coleta de qualquer tipo de estatísticas. A única permissão necessária é para acessar dados em todos os sites (para extrair imagens completas), e permissões *opcionais* para acessar o histórico do navegador, baixar/salvar imagens ou obter urls das abas para configuração por site. 4 | 5 | Às vezes os sites mudam seu design e, quando isso acontece, a extensão precisa ser atualizada. Por favor, informe qualquer problema com o zoom não estar funcionando, usando a aba de Suporte ou na página https://github.com/extesy/hoverzoom/issues. 6 | -------------------------------------------------------------------------------- /promo/_locales/pt_PT/description.txt: -------------------------------------------------------------------------------- 1 | Amplie imagens/vídeos em todos os seus sites favoritos (Facebook, Amazon, etc). Passe o rato sobre qualquer imagem nos sites suportados e a extensão irá automaticamente ampliar a imagem para o seu tamanho real, certificando-se de que ainda se encaixa na janela do navegador. 2 | 3 | Esta é uma versão de código aberto da extensão HoverZoom original, que agora foi invadida por malware e eliminada da loja. Nesta versão, todos os spywares foram removidos, muitos erros foram corrigidos e foram adicionadas novas funcionalidades. Não recolhe nenhuma estatística. A única permissão que necessita é de aceder a dados de todos os sites (para extrair imagens completas) e permissões *opcionais* para aceder ao histórico do navegador, descarregar/guardar imagens ou obter links de separadores para configuração por site. 4 | 5 | Às vezes os sites mudam de design e, quando isso acontece, a extensão precisa ser atualizada. Comunique quaisquer problemas de não funcionamento do zoom utilizando o separador Suporte ou a página https://github.com/extesy/hoverzoom/issues. 6 | -------------------------------------------------------------------------------- /promo/_locales/ro/description.txt: -------------------------------------------------------------------------------- 1 | Mărește imaginile/videoclipurile de pe toate site-urile tale preferate (Facebook, Amazon, etc). Treci cu mouse-ul peste orice imagine de pe site-urile suportate iar extensia o va mari în mod automat la dimensiune completă, încadrând-o la dimensiunea ferestrei browser-ului. 2 | 3 | Aceasta este o versiune open source a extensiei originale HoverZoom, ștearsă din magazin din cauza malware-ului. În această versiune codul malițios a fost eliminat, multe erori au fost reparate și noi caracteristici au fost adăugate. Extensia nu colectează niciun fel de informații. Singura permisiune necesară este accesul la date pe toate site-urile (pentru a extrage imaginile). Pentru funcții opționale pot fi necesare permisuni de citire a istoricului, descărcare de imagini și access la adresele filelor. 4 | 5 | Uneori site-urile se schimbă fundamental și extensia trebuie actualizată. Vă rugăm să raportați orice problemă folosind pagina Support sau la https://github.com/extesy/hoverzoom/issues. 6 | -------------------------------------------------------------------------------- /promo/_locales/ru/description.txt: -------------------------------------------------------------------------------- 1 | Изменения масштаба изображения/видео на всех ваших любимых сайтах (Facebook, Amazon, и т.д.). Наведите мышь на любое изображение на поддерживаемых сайтах и это расширение автоматически увеличит изображение до полного размера, и при этом оно по-прежнему будет вписываться в окно браузера. 2 | 3 | Это вариант оригинального расширения HoverZoom с открытым исходным кодом, которое было удалено из магазина Google Chrome после добавления вредоносного кода. В этой версии все шпионские программы были удалены, исправлены многие ошибки и добавлены новые возможности. Это расширение не собирает никакой статистики. Единственное разрешение, необходимое для работы - это "доступ к данным на всех сайтах" (для поиска изображений), и *необязательное* разрешение на доступ к истории браузера и получение URL-адреса вкладки для настроек для каждого сайта. 4 | 5 | Иногда сайты меняют дизайн и, когда это произойдет, расширение необходимо будет обновить. Пожалуйста, сообщайте о любых проблемах с сайтами используя вкладку "Поддержка" или на странице https://github.com/extesy/hoverzoom/issues 6 | -------------------------------------------------------------------------------- /promo/_locales/si/description.txt: -------------------------------------------------------------------------------- 1 | Zoom images/videos on all your favorite websites (Facebook, Amazon, etc). Hover your mouse over any image on the supported websites and the extension will automatically enlarge the image to its full size, making sure that it still fits into the browser window. 2 | 3 | This is an open source version of the original HoverZoom extension which is now overrun by malware and deleted from store. In this version all spyware has been removed, many bugs were fixed and new features were added. It doesn't collect any statistics whatsoever. The only permission it needs is to access data on all websites (to extract full images), and *optional* permissions to access browser history, download/save images or get tab urls for per-site configuration. 4 | 5 | Sometimes sites change design and when it happens, the extension needs to be updated. Please report any issues with zoom not working by using Support tab or https://github.com/extesy/hoverzoom/issues page. 6 | -------------------------------------------------------------------------------- /promo/_locales/sk/description.txt: -------------------------------------------------------------------------------- 1 | Zväčšovanie obrázkov/videí na všetkých vašich obľúbených webových stránkach (Facebook, Amazon atď.). Najeďte myšou na ľubovoľný obrázok na podporovaných webových lokalitách a rozšírenie automaticky zväčší obrázok na jeho plnú veľkosť, pričom sa uistí, že sa stále zmestí do okna prehliadača. 2 | 3 | Ide o open source verziu pôvodného rozšírenia HoverZoom, ktoré je teraz napadnuté škodlivým softvérom a odstránené z obchodu. V tejto verzii bol odstránený všetok spyware, bolo opravených mnoho chýb a boli pridané nové funkcie. Nezhromažďuje žiadne štatistiky. Jediné oprávnenie, ktoré potrebuje, je prístup k údajom na všetkých webových stránkach (na extrahovanie celých obrázkov) a *voliteľné* oprávnenia na prístup k histórii prehliadača, sťahovanie/ukladanie obrázkov alebo získavanie url kariet pre konfiguráciu jednotlivých webových stránok. 4 | 5 | Niekedy sa zmení dizajn stránok a keď sa tak stane, je potrebné aktualizovať rozšírenie. Akékoľvek problémy s nefunkčným priblížením nahláste prostredníctvom karty Podpora alebo stránky https://github.com/extesy/hoverzoom/issues. 6 | -------------------------------------------------------------------------------- /promo/_locales/sl/description.txt: -------------------------------------------------------------------------------- 1 | Povečajte slike/videoposnetke na vseh priljubljenih spletnih mestih (Facebook, Amazon itd.). Ko se z miško pomaknete nad katero koli sliko na podprtih spletnih mestih, bo razširitev samodejno povečala sliko na celotno velikost in poskrbela, da se bo še vedno prilegala oknu brskalnika. 2 | 3 | To je odprtokodna različica prvotne razširitve HoverZoom, ki jo je zdaj prekrila zlonamerna programska oprema in je izbrisana iz trgovine. V tej različici je bila odstranjena vsa vohunska programska oprema, popravljeni so bili številni hrošči, dodane pa so bile tudi nove funkcije. Ne zbira nobenih statističnih podatkov. Edino dovoljenje, ki ga potrebuje, je za dostop do podatkov na vseh spletnih mestih (za pridobivanje celotnih slik) in *izbirna* dovoljenja za dostop do zgodovine brskalnika, prenos/hranjenje slik ali pridobivanje naslovov zavihkov za konfiguracijo na posameznem spletnem mestu. 4 | 5 | Včasih spletna mesta spremenijo zasnovo in ko se to zgodi, je treba razširitev posodobiti. Morebitne težave z nedelovanjem povečave sporočite prek zavihka Podpora ali strani https://github.com/extesy/hoverzoom/issues. 6 | -------------------------------------------------------------------------------- /promo/_locales/sr/description.txt: -------------------------------------------------------------------------------- 1 | Zoom images/videos on all your favorite websites (Facebook, Amazon, etc). Hover your mouse over any image on the supported websites and the extension will automatically enlarge the image to its full size, making sure that it still fits into the browser window. 2 | 3 | This is an open source version of the original HoverZoom extension which is now overrun by malware and deleted from store. In this version all spyware has been removed, many bugs were fixed and new features were added. It doesn't collect any statistics whatsoever. The only permission it needs is to access data on all websites (to extract full images), and *optional* permissions to access browser history, download/save images or get tab urls for per-site configuration. 4 | 5 | Sometimes sites change design and when it happens, the extension needs to be updated. Please report any issues with zoom not working by using Support tab or https://github.com/extesy/hoverzoom/issues page. 6 | -------------------------------------------------------------------------------- /promo/_locales/sv/description.txt: -------------------------------------------------------------------------------- 1 | Zooma in bilder/videor på alla dina favoritwebbplatser (Facebook, Amazon osv.). För musen över en bild på hemsidor som stöds så förstorar tillägget bilden automatiskt och ser även till att den passar in i webbläsarfönstret. 2 | 3 | Detta är en open source-version av det ursprungliga HoverZoom tillägget som nu är full med virus och borttagen från butiken. I denna version har alla spionprogram tagits bort, många buggar har åtgärdats och nya funktioner har lagts till. Den samlar inte in någon som helst statistik. Den enda behörighet som behövs är att få tillgång till data på alla webbplatser (för att ta fram fullständiga bilder), och *alternativa* behörigheter för att få tillgång till webbläsarhistorik, ladda ner/spara bilder eller hämta tabb-urls för konfiguration per webbplats. 4 | 5 | Ibland ändrar webbplatser sin utformning och när det sker måste tillägget uppdateras. Vänligen rapportera eventuella problem med zoom med hjälp av fliken Support eller via https://github.com/extesy/hoverzoom/issues. 6 | -------------------------------------------------------------------------------- /promo/_locales/sw/description.txt: -------------------------------------------------------------------------------- 1 | Zoom images/videos on all your favorite websites (Facebook, Amazon, etc). Hover your mouse over any image on the supported websites and the extension will automatically enlarge the image to its full size, making sure that it still fits into the browser window. 2 | 3 | This is an open source version of the original HoverZoom extension which is now overrun by malware and deleted from store. In this version all spyware has been removed, many bugs were fixed and new features were added. It doesn't collect any statistics whatsoever. The only permission it needs is to access data on all websites (to extract full images), and *optional* permissions to access browser history, download/save images or get tab urls for per-site configuration. 4 | 5 | Sometimes sites change design and when it happens, the extension needs to be updated. Please report any issues with zoom not working by using Support tab or https://github.com/extesy/hoverzoom/issues page. 6 | -------------------------------------------------------------------------------- /promo/_locales/ta/description.txt: -------------------------------------------------------------------------------- 1 | Zoom images/videos on all your favorite websites (Facebook, Amazon, etc). Hover your mouse over any image on the supported websites and the extension will automatically enlarge the image to its full size, making sure that it still fits into the browser window. 2 | 3 | This is an open source version of the original HoverZoom extension which is now overrun by malware and deleted from store. In this version all spyware has been removed, many bugs were fixed and new features were added. It doesn't collect any statistics whatsoever. The only permission it needs is to access data on all websites (to extract full images), and *optional* permissions to access browser history, download/save images or get tab urls for per-site configuration. 4 | 5 | Sometimes sites change design and when it happens, the extension needs to be updated. Please report any issues with zoom not working by using Support tab or https://github.com/extesy/hoverzoom/issues page. 6 | -------------------------------------------------------------------------------- /promo/_locales/te/description.txt: -------------------------------------------------------------------------------- 1 | Zoom images/videos on all your favorite websites (Facebook, Amazon, etc). Hover your mouse over any image on the supported websites and the extension will automatically enlarge the image to its full size, making sure that it still fits into the browser window. 2 | 3 | This is an open source version of the original HoverZoom extension which is now overrun by malware and deleted from store. In this version all spyware has been removed, many bugs were fixed and new features were added. It doesn't collect any statistics whatsoever. The only permission it needs is to access data on all websites (to extract full images), and *optional* permissions to access browser history, download/save images or get tab urls for per-site configuration. 4 | 5 | Sometimes sites change design and when it happens, the extension needs to be updated. Please report any issues with zoom not working by using Support tab or https://github.com/extesy/hoverzoom/issues page. 6 | -------------------------------------------------------------------------------- /promo/_locales/th/description.txt: -------------------------------------------------------------------------------- 1 | ซูมรูปภาพ/วิดีโอบนเว็บไซต์โปรดทั้งหมดของคุณ (Facebook, Amazon ฯลฯ) เมาส์อยู่เหนือของคุณชี้ของเมาส์มาอยู่เหนือทุกภาพในการรองรับเว็บไซต์และคนส่วนขยายโดยอัตโนมัติจะเพิ่มขนาดภาพให้มันเต็มขนาดทำให้แน่ใจว่ามันยังเข้ากับหน้าต่างเว็บเบราว์เซอร์. 2 | 3 | นี่คือลูกของโค้ดเปิดสำหรับส่วนขยาย Hover Zoom+ เวอร์ชันดั้งเดิมที่ตอนนี้ถูกมัลแวร์ทำลายและถูกลบออกจากร้านค้าแล้ว ในเวอร์ชันนี้สปายแวร์ทั้งหมดถูกลบออกข้อบกพร่องมากมายได้รับการแก้ไขและเพิ่มคุณสมบัติใหม่ มันไม่ได้รวบรวมสถิติใด ๆ แต่อย่างใด สิทธิ์ที่ต้องการเพียงอย่างเดียวคือการเข้าถึงข้อมูลบนเว็บไซต์ทั้งหมด (เพื่อดึงภาพเต็ม) และสิทธิ์ เพิ่มเติม คือการเข้าถึงประวัติการท่องเว็บ, ดาวน์โหลด/บันทึกภาพ หรือรับ url ของแท็บสำหรับการตั้งค่าตามแต่ละเว็บไซต์ 4 | 5 | บางครั้งเว็บไซต์อาจมีการเปลี่ยนแปลงดีไซน์และเมื่อเกิดขึ้น, ส่วนขยายจะต้องได้รับการอัปเดต กรุณารายงานปัญหาเกี่ยวกับการซูมที่ไม่ทำงานโดยใช้แท็บสนับสนุนหรือหน้า https://github.com/extesy/hoverzoom/issues 6 | -------------------------------------------------------------------------------- /promo/_locales/tr/description.txt: -------------------------------------------------------------------------------- 1 | Tüm favori web sitelerinizde (Facebook, Amazon, vb.) Görüntüleri/videoları yakınlaştırın. Desteklenen sitelerde farenizi herhangi bir resmin üzerine getirin ve uzantı otomatik olarak resmi tarayıcı pencerenizden taşmayacak şekilde tam boyutuna yakınlaştırsın. 2 | 3 | Bu uzantı şu anda kötü amaçlı yazılımlar taşıyan ve mağazadan silinen orijinal HoverZoom uzantısının açık kaynak kodlu sürümüdür. Bu sürümde tüm kötü amaçlı yazılımlar silindi, birçok hata giderildi ve yeni özellikler eklendi. İstatiksel hiçbir veri toplamaz. ihtiyacı olan tek izin, tüm web sitelerindeki verilere erişmek (tam görüntüleri çıkarmak için) ve tarayıcı geçmişine erişmek, görüntüleri indirmek/kaydetmek veya site başına yapılandırma için sekme URL'leri almak için *isteğe bağlı* izinlerdir. 4 | 5 | Bazen siteler çalışma stilini değiştirir ve bu olduğunda uzantının güncellenmesi gerekir. Lütfen destek sekmesini veya https://github.com/extesy/hoverzoom/issues sayfasını kullanarak yakınlaştırma ile ilgili sorunları bildirin. 6 | -------------------------------------------------------------------------------- /promo/_locales/uk/description.txt: -------------------------------------------------------------------------------- 1 | Zoom images/videos on all your favorite websites (Facebook, Amazon, etc). Hover your mouse over any image on the supported websites and the extension will automatically enlarge the image to its full size, making sure that it still fits into the browser window. 2 | 3 | This is an open source version of the original HoverZoom extension which is now overrun by malware and deleted from store. In this version all spyware has been removed, many bugs were fixed and new features were added. It doesn't collect any statistics whatsoever. The only permission it needs is to access data on all websites (to extract full images), and *optional* permissions to access browser history, download/save images or get tab urls for per-site configuration. 4 | 5 | Sometimes sites change design and when it happens, the extension needs to be updated. Please report any issues with zoom not working by using Support tab or https://github.com/extesy/hoverzoom/issues page. 6 | -------------------------------------------------------------------------------- /promo/_locales/vi/description.txt: -------------------------------------------------------------------------------- 1 | Zoom images/videos on all your favorite websites (Facebook, Amazon, etc). Hover your mouse over any image on the supported websites and the extension will automatically enlarge the image to its full size, making sure that it still fits into the browser window. 2 | 3 | This is an open source version of the original HoverZoom extension which is now overrun by malware and deleted from store. In this version all spyware has been removed, many bugs were fixed and new features were added. It doesn't collect any statistics whatsoever. The only permission it needs is to access data on all websites (to extract full images), and *optional* permissions to access browser history, download/save images or get tab urls for per-site configuration. 4 | 5 | Sometimes sites change design and when it happens, the extension needs to be updated. Please report any issues with zoom not working by using Support tab or https://github.com/extesy/hoverzoom/issues page. 6 | -------------------------------------------------------------------------------- /promo/_locales/zh_CN/description.txt: -------------------------------------------------------------------------------- 1 | 在你喜欢所有网站(Facebook, 亚马逊等)上缩放图像/视频 将你的鼠标指针指向任何被支持的网站图片上,这个扩展会自动把图片/视频放大至全尺寸,确保图片适合浏览器窗口。 将你的鼠标指针指向任何被支持的网站图片上,这个扩展会自动把图片/视频放大至全尺寸,确保图片适合浏览器窗口。 2 | 3 | 这是原始HoverZoom扩展的开源版本,现在已被恶意软件侵占并从商店中删除 在这个版本中,所有的间谍软件都已经被移除,我们添加了许多新功能并移除了大量的bug。 它没有收集任何统计数据。 它需要的唯一权限是访问所有网站上的数据(提取完整图像),以及*可选*访问浏览器历史记录、下载/保存图像或获取每个站点配置的选项卡 URL 的权限 在这个版本中,所有的间谍软件都已经被移除,我们添加了许多新功能并移除了大量的bug。 它没有收集任何统计数据。 它需要的唯一权限是访问所有网站上的数据(提取完整图像),以及*可选*访问浏览器历史记录、下载/保存图像或获取每个站点配置的选项卡 URL 的权限 4 | 5 | 有时有的网站会改变内容的呈现方式,这时这个插件需要更新。 有时有的网站会改变内容的呈现方式,这时这个插件需要更新。 请在这个地址https://github.com/extesy/hoverzoom/issues或在支持页面提交你遇到不起作用的问题。 6 | -------------------------------------------------------------------------------- /promo/_locales/zh_TW/description.txt: -------------------------------------------------------------------------------- 1 | Zoom images/videos on all your favorite websites (Facebook, Amazon, etc). Hover your mouse over any image on the supported websites and the extension will automatically enlarge the image to its full size, making sure that it still fits into the browser window. 2 | 3 | This is an open source version of the original HoverZoom extension which is now overrun by malware and deleted from store. In this version all spyware has been removed, many bugs were fixed and new features were added. It doesn't collect any statistics whatsoever. The only permission it needs is to access data on all websites (to extract full images), and *optional* permissions to access browser history, download/save images or get tab urls for per-site configuration. 4 | 5 | Sometimes sites change design and when it happens, the extension needs to be updated. Please report any issues with zoom not working by using Support tab or https://github.com/extesy/hoverzoom/issues page. 6 | -------------------------------------------------------------------------------- /promo/description.txt: -------------------------------------------------------------------------------- 1 | Zoom images/videos on all your favorite websites (Facebook, Amazon, etc). Hover your mouse over any image on the supported websites and the extension will automatically enlarge the image to its full size, making sure that it still fits into the browser window. 2 | 3 | This is an open source version of the original HoverZoom extension which is now overrun by malware and deleted from store. In this version all spyware has been removed, many bugs were fixed and new features were added. It doesn't collect any statistics whatsoever. The only permission it needs is to access data on all websites (to extract full images), and *optional* permissions to access browser history, download/save images or get tab urls for per-site configuration. 4 | 5 | Sometimes sites change design and when it happens, the extension needs to be updated. Please report any issues with zoom not working by using Support tab or https://github.com/extesy/hoverzoom/issues page. 6 | -------------------------------------------------------------------------------- /promo/large.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/promo/large.jpg -------------------------------------------------------------------------------- /promo/marquee.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/promo/marquee.jpg -------------------------------------------------------------------------------- /promo/screenshot1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/promo/screenshot1.png -------------------------------------------------------------------------------- /promo/screenshot2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/promo/screenshot2.png -------------------------------------------------------------------------------- /promo/screenshot3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/promo/screenshot3.png -------------------------------------------------------------------------------- /promo/screenshot4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/promo/screenshot4.png -------------------------------------------------------------------------------- /promo/small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/promo/small.jpg -------------------------------------------------------------------------------- /promo/zoom_in.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/extesy/hoverzoom/c73739cacdbb1ed2bd3d77d4d4af4d52d84a69ed/promo/zoom_in.png -------------------------------------------------------------------------------- /release.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | del hoverzoom.zip >nul 3 | winrar a -afzip -m5 -r hoverzoom.zip _locales css fonts html images js plugins LICENSE manifest.json ruleset.json -xnode_modules -x.idea 4 | 5 | --------------------------------------------------------------------------------