Fandom

Wikia Developers Wiki

ThreadConfirm

846pages on
this wiki
Add New Page
Talk10 Share
Nuvola apps kservices This article is about a system or feature that is no longer in use.
  • The page is retained for historical reasons.

As of 22nd March, 2016, this script is no longer needed, as it has become a core feature of Wikia. Users of this script are advised to remove it from their JS.

ThreadConfirm prompts the user on threads, boards and message walls if they close the browser window when they have unpublished edits. This extends to editing previous messages. On boards and message walls, the prompt also appears when the user has written the title or the content body.

Installation

Add the following to your Special:MyPage/common.js for personal use, or MediaWiki:Common.js for site wide use:

importArticles({
    type: 'script',
    articles: [
        // ...
        'u:dev:ThreadConfirm/code.js',
        // ...
    ]
});
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
importScriptPage('AjaxRC/code.js','dev');
 
importScript('MediaWiki:localScript.js');
 
importArticle({
  type: 'script',
  article: 'u:dev:FloatingToc/code.js'
});
 
importScriptPage('page1.js', 'wikiname');
 
importScriptPage('page2.js', 'wikiname');
importArticles({
    type: 'script',
    articles: [
        'u:dev:AjaxRC/code.js',
        'MediaWiki:localScript.js',
        'u:dev:FloatingToc/code.js',
        'u:wikiname:page1.js',
        'u:wikiname:page2.js'
    ]
});
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.

Configuration

The default message that appears is "You have made some unpublished edits. Are you sure you wish to leave this page without publishing them?" which is the same as that in the case of articles. It can be changed using the window.threadConfirm variable, like so:

window.threadConfirm = 'You have not finished writing/editing your message. Are you sure you want to leave?';
importScriptPage('ThreadConfirm/code.js', 'dev');

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.