Есть как минимум три способа сделать это.
Первый подход - отредактировать волшебную страницу MediaWiki:Common.js
и добавить что-то вроде этого:
if(wgNamespaceNumber == 0) { // NS_MAIN
importScript('MediaWiki:MyScript.js');
}
Вы можете поместить произвольный javascript в блок, бит importScript
существует для выполнения JavaScript, хранящегося на вики-странице, но есть и другие способы включить JS на лету (см., Например, этот вопрос ). См. Руководство: Интерфейс / JavaScript для получения подробной информации о стороне MediaWiki.
Второй подход - взломать PHP, который создает страницу MediaWiki для вставки тегов <script>
в зависимости от текущего пространства имен, но это немного сложнее: вам нужно создать собственное расширение и подключить его в какой-то подходящий момент. Крючок ParserAfterTidy выглядит подходящим, см. Крючки .
Третий подход - просто отредактировать скин и загрузить JS для каждой страницы в вики. Есть ли причина, по которой вы не хотите делать это для каждой страницы? Они все равно кэшируются, так что это только одноразовый удар.