PageExtender for Safari 4+

Inject custom CSS and JS

Philipe Fatio

    • 4.7 • 9 Ratings
    • $4.99

Screenshots

Description

PageExtender is a Safari Extension that injects CSS and JS files into websites, allowing you to customize your favorite websites to your needs.

When visiting a page, e.g. https://en.wikipedia.org/wiki/Apple, the Safari extension will inject the following files into the page if they are present in the CSS and JS folders that you specify:

∙ default.css
∙ org.css
∙ wikipedia.org.css
∙ en.wikipedia.org.css

∙ default.js
∙ org.js
∙ wikipedia.org.js
∙ en.wikipedia.org.js

This way you can take control of any website. Some examples of what you can do with it:

∙ Work around a page that disabled scrolling due to an ad blocker being detected or because you've reached the limit of your monthly free articles.
∙ Hide content that isn't relevant to you on websites you constantly use for work.
∙ Hide promoted content that your ad blocker didn't hide.

**PLEASE NOTE**

Basic web development skills are required for this extension to be useful, i.e. you should either know some CSS or JavaScript.

What’s New

Version 1.3

It is now possible to style the “about:blank” page.

Ratings and Reviews

4.7 out of 5
9 Ratings

9 Ratings

tim.kite ,

Works Perfectly for Userscripts

I've had no need to try the CSS injection capabilities, but I did need a substitute for Tampermonkey as of Safari 13, since App Extensions are now required. This fits the bill perfectly! It does have the downside that I need multiple copies (or symlinks) for a script to run it on multiple domains vs. just the script header doing that, but on the upside I can keep my scripts in iCloud and have them run on all my Macs without worrying about keeping them in sync! It's also much faster than Tampermonkey, but I think that's just because App Extensions run significantly faster than old-style extensions.

TravisHicks ,

Works for injecting JavaScript

Seems to work perfectly for injecting JavaScript into sites by domain. Just create JavaScript files named <domain>.js. It doesn't handle matching specific paths on a domain, but you can of course implement such functionality in the script itself by reading the page location. I haven't tried the CSS functionalty as I already use other tools for that, but it should work the same way.

prod10 ,

Perfect

Thank you for the OSS contribution, made me that much more willing to actually buy this. Does exactly what it says and (if you have coding knowledge) has a very straightforward workflow.

App Privacy

The developer, Philipe Fatio, indicated that the app’s privacy practices may include handling of data as described below. For more information, see the developer’s privacy policy.

Data Not Collected

The developer does not collect any data from this app.

Privacy practices may vary, for example, based on the features you use or your age. Learn More

Supports

  • Family Sharing

    Up to six family members can use this app with Family Sharing enabled.