GlobalChatJS allows your Community Central chat.js page to be loaded on all wiki chats, similar to how the Community Central global.js page is loaded on all wikis.


See also: Help:Including additional CSS and JS, Help:Advanced CSS and JS
  • For personal use, add the code snippet below to your global.js page (for use on all wikis) or your common.js page on your wiki (for use on a single wiki). Note that personal JS must be enabled for your account.
    type: 'script',
    articles: [
importArticles — Best Practices for installing JavaScript on FANDOM
The importArticles statement is designed to combine multiple HTTP requests into a single data transfer, allowing multiple scripts to load and execute faster. If you've been installing several different scripts, your JavaScript file has probably accumulated unnecessary import statements. Click "Expand" to learn how to efficiently batch import scripts to speed up performance and make your code look cleaner. One other approach is by using the MediaWiki:ImportJS.
If your JavaScript file has several lines of code that say importScript, importScriptPage, or importArticles, you may be able to combine them! By batch importing a collection of scripts with a single import, your JavaScript code will load faster and look cleaner. Consider the example below. On the left is an example of what your JavaScript file might currently look like. On the right is how you could improve that code.
Multiple imports — messy and slow One import — clean and efficient
  type: 'script',
  article: 'u:dev:FloatingToc/code.js'
importScriptPage('page1.js', 'wikiname');
importScriptPage('page2.js', 'wikiname');
    type: 'script',
    articles: [
Note: In this example, pay close attention to the placement of commas and other punctuation. For people who aren't familiar with programming (and even those who are!), a common mistake when writing code is to accidentally delete, forget, or misplace critical symbols like commas or quotation marks. This can cause a syntax error that breaks the code. Carefully follow the convention shown here when using importArticles.
But there's much more to importArticles than just this! For more examples and advanced usage, see the help page at Help:Including additional JavaScript and CSS.


  • The script works via a click handler on all chat links. This means the script has no effect if you open chat by methods other than clicking a link (e.g. by entering the URL to Special:Chat yourself). For the same reason, it will also not work if you refresh the chat window.
  • The script will not work if you load ChatHacks via your global.js or common.js page, as ChatHacks also replaces the click handler. Loading ChatHacks via your chat.js page will work without issue.
  • Due to ongoing restrictions of personal JS pages, the script uses your Community Central chat.js page, rather than a dedicated "global-chat.js" page. Therefore, if you wish to have JavaScript specific to Community Central chat in your chat.js page, you'll need to wrap it in an if statement that checks what the current wiki is, like below:
if (mw.config.get('wgCityId') === '177') {
    // Community Central-specific chat code here...


Chat windows in a new tab

If you'd like chat windows to always open in a new tab rather than a pop-up (e.g. if you usually right-click and open chat links in a new tab), add the following line to your global.js or common.js page:

window.wgWikiaChatWindowFeatures = '';

Using a custom hook

If you wish to use a custom hook function for loading code into chat (e.g. to load a page other than chat.js), you can define a function named GlobalChatJS_chatHook anywhere in your global.js or common.js page. This function will be called as the chat window is opened, and the first argument will be the window object of the newly-opened chat window. Code for the default hook is shown below - feel free to copy and use it as a base for your custom hook.

function GlobalChatJS_chatHook(chatWindow) {
        type: 'script',
        article: 'u:community:User:' +'wgUserName') + '/chat.js'