tuff_ghost: (Default)
[personal profile] tuff_ghost posting in [community profile] ao3some
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);

Date: 2013-04-05 06:42 pm (UTC)
From: (Anonymous)
Yep. It's not just the same source, it's the same instance, so you should even have access to whatever jQuery plugins the host site is running. (which is actually the whole reason for this post; userscripts were replacing the host instance after a plugin had loaded, killing the plugin)

Date: 2013-04-05 08:22 pm (UTC)
poulpette: Stick-figure of a smiling head, raising heart pompoms. Bottom half says YAY!!! (Misc - devs = awesome)
From: [personal profile] poulpette
So I suppose I no longer need the @require line? and the script will still run for Chrome users?

Thank you for you help :)

June 2021

S M T W T F S
  12345
6789101112
1314 1516171819
20212223242526
27282930   

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 23rd, 2025 12:27 pm
Powered by Dreamwidth Studios