Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

I would like to be able to use userscripts in Android. Is this even possible? I read that it was a couple months back and tried a tutorial which I can no longer find but it didn't work.

This question may be related to this other one I submitted but I believe they may have totally different answers.

share|improve this question
    
add comment

3 Answers

up vote 3 down vote accepted

Use OilCan - "Greasemonkey on steroids for Android".

share|improve this answer
    
Have you tried it? I'm pretty sure this is the one I tried but couldn't get to work. It was a while ago when I was still new to Android so I might have better luck now. –  Matt Sep 16 '10 at 21:56
    
I haven't tried it yet. Looks cool though so I will give it a try soon and see what happens. –  Rohan Singh Sep 20 '10 at 20:03
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.