I had some trouble getting your script to run on Firefox / Greasemonkey. It turns out that I needed to replace this line:
// @require http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js
with:
// @require https://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js
// @require https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js
With this change, the script seems to work on Firefox (although I haven't properly tested all the features yet).
I also noticed a few issues with the options pop-up:
The pop-up appears in a weird location, partially off the screen. I managed to fix this issue by changing the
style
attribute from the originaldisplay:inline-block; position:fixed; margin:auto; top:50%; margin:-100px 0 0 -150px; z-index:2; background-color:gray; color:white; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px;
to:
display:inline-block; position:fixed; top:10px; left:50%; width:500px; margin-left:-250px; z-index:2; background-color:gray; color:white; padding: 10px; border-radius: 15px;
Having the checkboxes at the end of the option descriptions is somewhat ugly awkward; they'd look nicer and be easier to click if they were at the beginning. You could also simplify the HTML by nesting the checkboxes inside their labels, as in:
<label><input type=checkbox id=id checked> Text </label><br>
Every time I open the settings, all the checkboxes get checked. It would be much better to have them retain their previous state.
I don't see any particular reason why I shouldn't be able to disable all the features, if I want. That extra check seems just plain useless to me.