Utilisateur:Mr Tortue/test.js
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;
Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.let watchlist = []
function addIcon() {
if (
mw.config.get('wgAction') !== 'view' ||
mw.config.get('wgDiffOldId') || // Set on diff pages
!mw.config.get('wgArticleId') ||
$('html').hasClass('ve-active') // VisualEditor
) return;
$("#mw-content-text a").each(function () {
const title = $(this).attr('title');
if (watchlist.includes(title)) {
// console.log("HIT !")
$(this).before(
`<div style="display:inline; margin-right:3px;">
<img style="vertical-align: revert" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/8e/OOjs_UI_icon_watchlist-ltr.svg/20px-OOjs_UI_icon_watchlist-ltr.svg.png" width="15" height="15" class="">
</div>`
)
}
})
}
function getData(wrContinueToken) {
let request
if (wrContinueToken != "") {
request = $.getJSON(
mw.util.wikiScript('api'),
{
"action": "query",
"format": "json",
"list": "watchlistraw",
"titles": "",
"wrnamespace": "0",
"wrlimit": "max",
"wrcontinue": wrContinueToken
}
)
} else {
request = $.getJSON(
mw.util.wikiScript('api'),
{
"action": "query",
"format": "json",
"list": "watchlistraw",
"titles": "",
"wrnamespace": "0",
"wrlimit": "max",
}
)
}
request.done(function (data) {
console.log(data)
console.log(data.watchlistraw.length)
for (let i = 0; i < data.watchlistraw.length; i++) {
watchlist.push(data.watchlistraw[i].title)
}
// console.log(watchlist)
addIcon()
watchlist = []
if (data.watchlistraw.length == 500) {
console.log("on continue")
getData(data.continue.wrcontinue)
} else {
console.log("c'était la dernière")
}
});
}
$.ready.then(function () {
if (
mw.config.get("wgCanonicalNamespace") != "" ||
mw.config.get('wgAction') !== 'view' ||
mw.config.get('wgDiffOldId') || // Set on diff pages
!mw.config.get('wgArticleId') ||
$('html').hasClass('ve-active') // VisualEditor
) return
getData()
}
)