sixcious / infy-scroll

Add customized infinite scrolling to websites and auto load the next page.
Other
155 stars 18 forks source link
autopager infinite-scroll infinite-scrolling next-page

Infy Scroll

Infy Scroll

Available For

Google Chrome       Microsoft Edge, Icon: By Source, Fair use, https://en.wikipedia.org/w/index.php?curid=62848768       Mozilla Firefox      



Infy

Important Note

Infy contains some experimental ideas and features. This means it might contain a few bugs and it might not work on every website you try it on! But I really want you to be 100% happy with Infy, so if something isn't working right, or if there's a feature you think is missing, please open an issue on GitHub and give me a chance to fix it before leaving a low rating/review, and I promise I will.


















About

Infy Scroll can let you add customized infinite scrolling to websites and can auto-load the next page. It's also compatible with the AutoPagerize Database, which means it supports thousands of websites automatically. Infy supports 4 different actions and 6 different append modes so you can customize each site's infinite scrolling to how you want it to be. Infy understands both CSS Selector and XPath expressions for finding next links, and it features an Element Picker that can generate them for you, similar to the original AutoPager. It can also increment URLs and perform special actions, like clicking "Load More" buttons. You can save your settings for each URL and Infy will auto-activate the next time you visit them.

Features

Introducing AJAX

Since releasing Infy Scroll in August 2020, if you were to ask me what is the one feature I was working my hardest to implement — it's always been an append mode for AJAX websites. After two years of on and off development, I'm really proud to offer this completely new and innovative append mode in Version 0.8, The Eightfinity Edition. AJAX comes in two versions: Iframe and Native. AJAX is mostly in the proof of concept stage right now, but does work on many sites, including Pixiv.

AJAX Demo (Pixiv)

The AJAX Native append mode working on Pixiv

Example Settings
{
  "action": "click",
  "append": "ajax",
  "clickElement": "//nav/button[@aria-current='true']/following-sibling::a[not(@hidden)]",
  "loadElement": "//section//div/ul//figure",
  "pageElement": "//section/div/ul | //section/div/div/ul | //section/div/div/div/ul",
  "spaf": "^https://www\\.pixiv\\.net",
  "url": "^https://www\\.pixiv\\.net/"
}

You can copy and paste these settings using the Add Save feature in the Options. (Tested on December 22, 2022.)

SPA Support

SPAs (Single-page Applications) are tricky to deal with because they update their page content dynamically, and sometimes don't even update the address bar. However, Infy now supports the Navigation API (Chrome/Edge 102+ Only) to detect browser navigations and it can also watch for changes on the page and auto-activate and auto-deactivate itself if the website changes its content dynamically. It even works here on GitHub and on Pixiv. (If you're on Firefox, you can check the Late Activation setting in the UI Window's Scripts dialog and save the URL.) No more refreshing the page!

Documentation

FAQ

Can you help me make it work with a specific website?

I really wish I could! Please see this post for a potential solution.

Why can't Infy Scroll execute custom scripts?

Unfortunately, because browsers strongly discourage this from a security standpoint (especially now that Manifest V3 is out!). Please feel free to read the Scripts and Styles section for more information and a potential solution.

What is the minimum browser version (and why is it to so high)?

Infy currently requires Chrome/Edge 120 and Firefox 128 and higher to run. I usually update the minimum browser version every time I do a release so I can use the latest and greatest ECMAScript features without worry. If your browser doesn't support Infy, I'm afraid you'll have to use another app/extension (sorry!).

Why is the production version's source code minified?

I use Terser to minify the source code for production releases that I upload to your browser's web store. I mainly do this because I write a lot of comments and console.log() statements for debugging and because it cuts down the file size significantly. That said, you can always view a "Pretty Print" of the source code by using a CRX Viewer to inspect it before installing it.

Permissions Justification

Privacy Policy

Infy Scroll does not track you. It does not use analytic services. It does not collect or transmit any data from your device or computer. All your data is stored locally on your device. Your data is your data.

Contributing

Thanks for considering to contribute! I'm currently not setup to accept PRs just yet, but you can open an issue and we can discuss your idea or change.

License

View License

Copyright

Infy Scroll
Copyright © 2015-2020 Roy Six
Character Design and Artwork Copyright © 2020 Joyfool