ListingEdit appends a small textbox that accepts wikitext to the end of listings on a page, allowing for easier updating of long pages like this.

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.

Place the following into MediaWiki:Common.js on your wiki or one of your personal script files, or append the parameter to your existing importArticles call:

    type: 'script',
    articles: [
// Configuration options for window.ListingEdit go here (optional)
// End section.


The list of parameters is as follows:


  • Type: RegExp object
  • Default value: /^Category:List\s/
  • Purpose: If one of the categories are matched by this regex, the script will create the input box. It is preferable to set it so that the script only activates on listing pages.


  • Type: Array
  • Default value: false
  • Purpose: If this array contains the page title, the script will create the input box. Perfect for exception handling.


  • Type: String
  • Default value: Add a new element to the listing:
  • Purpose: Short description text before the input box.


  • Type: String
  • Default value: Update!
  • Purpose: Text content of the button that starts the edit process.

To customize any of these, simply override them before you call window.ListingEdit.init(). A fully fledged example:

// Import the script before these
window.ListingEdit.listingCat = /^Category:F[auo]bar$/;
window.ListingEdit.listingPages = ["Exception", "FBI"];
window.ListingEdit.inputDescr = "This is our fancy input box!";
window.ListingEdit.buttonLabel = "Add a new element!";
// and initialize it


29 April 2013
TK-999 (talk): Removing unneeded XMLHttpRequest.
26 April 2013
TK-999 (talk): New feature: selection on a per-page basis.
23 April 2013
TK-999 (talk): Initial push.