tuff_ghost: (Default)
tuff_ghost ([personal profile] tuff_ghost) wrote in [community profile] ao3some2013-04-04 02:51 pm

FYI for userscript authors

If your userscript @requires jQuery, and your users are on Firefox, it's going to break JS running on Ao3 since the latest deploy, particularly the JS which shows modal boxes and hides the Share code on works.

If you're like me you were @requiring jQuery because you wanted your script to run in Chrome on Tampermonkey (where your script is sandboxed away from the host jQuery instance), and you didn't want to maintain two different copies of your script for Greasemonkey and Tampermonkey.

So, @require jQuery breaks stuff in Firefox, but you still need jQuery in Chrome. The solution is to get your jQuery instance from unsafeWindow.jQuery - this will point to the host instance of jQuery.


(function($) {
// your code which uses jQuery normally as $
})(unsafeWindow.jQuery);
flamebyrd: (Default)

[personal profile] flamebyrd 2013-04-14 04:20 am (UTC)(link)
Thanks very much for this! I had one script that included jQuery and had scratched my head for a long time trying to figure out how to include the Archive's jQuery instance.

On a somewhat unrelated note... A while back I made my own clone of TumblrSavior for the archive (literally a clone - I used all his code too, with permission). Now I want to tweak it to be a little more intelligent and use jQuery, but I see you've already made a more intelligent version! I wanted to add the ability to filter by Work ID, and for my own education I'd like to try adding a configuration interface (using GM_setValue etc, or possibly http://userscripts.org/guides/11).

Anyway tl;dr, I don't think userscripts.org supports forking, so do you mind if I use your code as a basis for this? It seems like your approach is pretty much the same as the one I was pondering. XD
flamebyrd: (Default)

[personal profile] flamebyrd 2013-04-14 04:53 am (UTC)(link)
*nods* I think userscripts.org is a great place to store them, just for the ease-of-installation factor.

Thanks, I'll also look into localStorage - I had considered it but my non-comprehensive Googling indicated that it might be a little flakey with userscripts.