Android - Is there a way to use Userscripts / Greasemonkey Scripts on the Android Browser or Dolphin HD?

Solution:

2019 Update:

My preferred way to get userscripts on Android would now be to use the Firefox browser, which has working, well-maintained Add-ons available for both Greasemonkey and Tampermonkey (search for them through the Add-ons menu in the Firefox app).

Pasting the javascript into the address bar still works (at least on Chrome), but note that Chrome now strips out the javascript: prefix when you paste in the code. If you don't retype it, it will just do a web search.

The mobile versions of Chrome and Opera (also now based on Chromium) don't support userscript add-ons, but the Tampermonkey standalone app is still available from the Play Store. It hasn't been updated since 2013 but still just about works. However, given its age, it won't support many of the features of the current Greasemonkey/Tampermonkey API, or modern websites in general. As a result, many userscripts won't work without modification. It's also tricky to figure out how to install them in the first player (use the 'Textarea' utility hidden under the Advanced Settings). There are also Tampermonkey extensions for the Dolphin and UC browsers available in the Play Store. I haven't tried them, but they haven't been updated since 2016.

Original 2013 answer:

Solution 1. Use Tampermonkey. Tampermonkey is more popular as an extension for Chrome, but it is also available as a standalone Android app. It functions as a lightweight browser, and allows you to manage and automatically run user scripts. Unfortunately it doesn't have many of the features found on other popular browsers, but it does support the Greasemonkey API.

Solution 2. Use Opera Mobile, which has built-in support for userscripts, but no script management features, and doesn't support the Greasemonkey API. Navigate to the User Prefs section of opera:config, then tick "Always Load User JavaScript" and "User JavaScript". Enter the path to a folder (not a file) in the "User JavaScript File" field (I use /sdcard/userscripts/), then store the settings. Save your userscript in that folder with a .user.js extension. NB this works in OM12, but the OM14 beta doesn't seem to support userscripts at present.

Solution 3. Launch your userscript manually via a bookmarklet or pasting this javascript directly into the browser address bar:

javascript:(function(){var a=document.createElement("script");a.src="http://path.to/myscript.user.js";document.head.appendChild(a);})();

This technique is tedious, but the principle should work in most browsers. You don't get Greasemonkey API support though. The code above should work without modification in the stock Android browser, and can be saved as a bookmarklet. In Chrome Mobile the space in the var a needs escaping, i.e. var%20a=, and bookmarklets don't seem to work, so you have to paste manually every time.


Use OilCan - "Greasemonkey on steroids for Android".


Use either the Habit Browser or Slepnir Browser apps. They both support Userscripts. I had to tweak my scripts slightly to get them working (they handle events differently) but they both work really well.