Last modified: 2011-03-19 19:49:30 UTC
Is it possible to make a [[MediaWiki:Common.js]] just like [[MediaWiki:Common.css]]?
Creating it would be possible. Do you mean, "would it have an effect?" I don't
believe so; not in the current incarnation.
Yes, I have made one (on nl.wikipedia.org) but it doesn't work. :-(
It would be nice when it works.
Changing to a feature request...
[[en:MediaWiki:Common.css]] does not list inside [[en:Special:Allmessages]].
regards reinhardt [[user:gangleri]]
This could be fixed simply by adding a few lines to wikibits.js:
You could also easily add this functionality in an extension:
(In reply to comment #6)
> You could also easily add this functionality in an extension:
Oops. Not quite. As far as I can tell, the BeforePageDisplay hook is only called
by SkinTemplate, and the standard/classic skin doesn't extend that.
OK. Rewrote http://en.wikipedia.org/wiki/User:Dto/CommonJSext so that it works
independent of the current skin.
Dan, I take it that said extension would have to be added to MediaWiki, and
couldn't be done client-side?
(In reply to comment #9)
> Dan, I take it that said extension would have to be added to MediaWiki, and
> couldn't be done client-side?
Yeah, and so does everything else, I believe. If something is going to affect
every Wikipedia user, something in MediaWiki has to change, as far as I can tell.
*** Bug 7072 has been marked as a duplicate of this bug. ***
Okay, Brion is apparently concerned with the possibility of adding more
unnecessary server hits. Ideally I suppose all the JS should be merged via PHP
into a single <script>, so that only one server hit occurs, but in lieu of that,
why not just ditch Monobook.js in favor of Common.js (in a backwards-compatible
way)? Why does Monobook need a separate script file anyway? If someone
actually wants to do separate stuff for Monobook, we have handy variables for that.
Anyone object to this? I'd probably just add lines to both Monobook and
Skin.php to the effect of using Common.js if it exists, otherwise Monobook.js
(as a deprecated fallback).
(In reply to comment #12)
>why not just ditch Monobook.js in favor of Common.js (in a backwards-compatible
>way)? Why does Monobook need a separate script file anyway? If someone
>actually wants to do separate stuff for Monobook, we have handy variables for that.
If I interpret some of what Simetrical says correctly, then it is possible to
collect scripts from all skins into a single repository; however, some scripts
would only work in certain skins, through the use of "hand variables".
If I interpret his proposal correctly, then I wholeheartedly support it. I
believe that this will be a useful step in providing better accommodation for
those of us who don't use the monobook skin.
Also, if I interpret Simetrical's proposal correctly, it would supersede the
need for a solution to Bug 6377.
I don't see why it would add more server hits; AFAIK, currently Monobook.js is
output from "/w/index.php?title=-&action=raw&gen=js", together with a couple of
extra variables; you could simply output Common.js together with it. Unless I'm
misunderstanding something, it wouldn't add any new server hits.
D'oh. You're right, of course. No problem, then: added in r17737.
variables? If the latter, then I interpret Simetrical's comment to mean that
there is a way to specify which skin a particular function in
[[MediaWiki:Common.js]] would be executed in.
If this reading is true, then the Common repository would supersede any other
skin-specific repository, and obviate the need for a solution to Bug 6377.
Did I read correctly? I have to admit that I'm not much of techie.
and should be available to any script writers, and yes, I noted in a couple of
places that Monobook.js is deprecated (although not until I get around to
removing all those tooltips from it ;) ).
Just a note for posterity -- I've removed those deprecation notices; MediaWiki:Monobook.js and fellows are perfectly suitable for genuinely skin-specific JS... and it is indeed served along with MediaWiki:Common.js in the same server request (but only to those actually using that skin).
While general code does belong in Common.js, there's nothing wrong with using the specific ones when it's suitable.