Firefox has a great extension called NoScript. Unfortunately, it’s not available for Chrome or Chromium.

But fret not, there’s a similar extension available for Chrome called uMatrix. This extension offers fine-level control of each element of a webpage, including CSS, cookies, and javascript. As with many powerful extensions, it’s not really designed for the average user. Don’t let that discourage you–the benefits are great, and I’m sure anyone can get the hang of it. It is, however, a bit foreign to those not well versed in the technical aspects of web page presentation.

I’d run into a problem, though–uMatrix was blocking my attempts to use some bookmarklets, notably the Instapaper save bookmarklets.

A little research showed that while bug reports had been filed, they’ve long since been closed. Reason given: It’s a browser problem, not something uMatrix is thwarting.

That is certainly true in most cases, but not all cases. In my case, the Instapaper bookmarklet was appending inline javascript upon execution, and that javascript was referencing the instapaper.com domain, which was, in fact, being blocked by uMatrix. The technical details here are that even though I had marked uMatrix to not run on the instapaper.com domain, that action didn’t unblock instapaper.com when referenced from another domain.

(To be clear: This is not at all uMatrix’s fault. It was my fault because I didn’t fully understand how the uMatrix rules work.)

To fix this problem, I manually whitelisted the instapaper domains in the rules listing.

To get there, you’re going to want to choose “Options” from the uMatrix menu. After doing so, click the “My Rules” tab.

These are the rules I added:

* instapaper.com * allow

* www.instapaper.com * allow

After saving my changes, the bookmarklet began working normally on all pages.

If you’re running into trouble with a bookmarklet, have look at the code & see which domains it’s referencing. Add rules similar to the ones I’ve listed for each, and you should be set.