میڈیاویکی:Gadget-CommonWikt.js
یاد دہانی: محفوظ کرنے کے بعد ان تبدیلیوں کو دیکھنے کے لیے آپ کو اپنے براؤزر کا کیش (cache) صاف کرنا ہوگا۔
- فائرفاکس/ سفاری: جب Reload پر کلک کریں تو Shift دباکر رکھیں، یا Ctrl-F5 یا Ctrl-R دبائیں (Mac پر R-⌘)
- گوگل کروم: Ctrl-Shift-R دبائیں (Mac پر Shift-R-⌘)
- انٹرنیٹ ایکسپلورر: جب Refresh پر کلک کریں تو Ctrl یا Ctrl-F5 دبائیں
- اوپیرا: Tools → Preferences میں جائیں اور کیش (cache) صاف کریں
/*******************************************************************************
Différentes fonctions utiles pour les gadgets spécifiques au Wiktionnaire
- CommonWikt_CleTri(mot)
- CommonWikt_Delete(element)
- CommonWikt_ajax
********************************************************************************
Auteurs :
- ArséniureDeGallium
- Dr Brains
********************************************************************************
[[Catégorie:JavaScript du Wiktionnaire|CommonWikt.js]]
********************************************************************************/
// --------------------------------------------------------------------------------------------
// Calcul de la clé de tri
// (le français ne nécessite plus qu'une prise en compte des apostrophes)
// --------------------------------------------------------------------------------------------
function CommonWikt_CleTri(mot) {
var key = mot;
key = key.replace( /[ĉ]/g, "cx" );
key = key.replace( /[ĝ]/g, "gx" );
key = key.replace( /[ĥ]/g, "hx" );
key = key.replace( /[ĵ]/g, "jx" );
key = key.replace( /[ŝ]/g, "sx" );
key = key.replace( /[ŭ]/g, "ux" );
key = key.replace( /['’]/g, "" );
return key;
}
//----------------------------------------------------------------------------------
// Ajout d'un menu dans les onglets
//
// /!\ Déprécié : Préférer utiliser mw.util.addPortletLink()
// (cf. [[mw:ResourceLoader/Default_modules#addPortletLink]])
//
//----------------------------------------------------------------------------------
function CommonWikt_AddTabMenu(lien,titre){
jQuery(function(){
var OngletsCactions = document.getElementById('p-cactions');
if(OngletsCactions){
var CactionsUl = OngletsCactions.getElementsByTagName('ul')[0];
CactionsUl.innerHTML += '<li><a href="' + lien + '">' + titre + '</a></li>';
if(OngletsCactions.className){ OngletsCactions.className = OngletsCactions.className.replace(/[ ]*emptyPortlet[ ]*/, " "); }
}else{
//x = new vectorMenu
}
});
}
//----------------------------------------------------------------------------------
// Détermination des dimensions de l'écran selon le navigateur
//----------------------------------------------------------------------------------
function CommonWikt_Screen(){
var agt=navigator.userAgent.toLowerCase();
var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var dimens = {largeur:0, hauteur:0};
if(is_ie){
dimens.largeur = parseInt(screen.width);
dimens.hauteur = parseInt(screen.height);
}else{
dimens.largeur = parseInt(window.innerWidth);
dimens.hauteur = parseInt(window.innerHeight);
}
return dimens;
}
//----------------------------------------------------------------------------------
// Remplacement de tout le code HTML de la page par un nouveau
//----------------------------------------------------------------------------------
function CommonWikt_ReplaceAllHTML(doc, newHTML){
while(doc.body.firstChild){ doc.body.removeChild(doc.body.firstChild); }
doc.body.innerHTML = newHTML;
}
//----------------------------------------------------------------------------------
// Suppression d'un élément HTML
//----------------------------------------------------------------------------------
function CommonWikt_Delete(OldElement){
if ((OldElement) && (OldElement.parentNode)){ OldElement.parentNode.removeChild(OldElement); }
}
/******************* GESTION DES COOKIES ************************/
// --------------------------------------------------------------------------------------------
// Création d'un cookie
// --------------------------------------------------------------------------------------------
function CommonWikt_AjouteCookie(nom, valeur, jours) {
var date = new Date();
date.setTime(date.getTime()+(jours*86400000));
var strfin = "; expires=" + date.toGMTString();
document.cookie = nom + "=" + valeur + strfin + "; path=/";
}
// --------------------------------------------------------------------------------------------
// Lecture d'un cookie
// --------------------------------------------------------------------------------------------
function CommonWikt_LitCookie(nom){
var cks = document.cookie.split(';');
for(var k=0; k<cks.length; k++){
var ck = cks[k];
var nk = ck.indexOf(nom+"=");
if (nk>=0){return ck.substr(nk+nom.length+1);}
}
return null;
}
// --------------------------------------------------------------------------------------------
// Suppression d'un cookie
// --------------------------------------------------------------------------------------------
function CommonWikt_SupprimeCookie(nom){
CommonWikt_AjouteCookie(nom, "", -1);
}
/******************* REQUÊTES AUX SERVEURS ************************/
//----------------------------------------------------------------------------------
// Fonction de requête ajax, utilisée pour faire une requête aux serveurs WikiMedia
// - soit via l'interface standard (index.php)
// - soit via l'API (api.php)
// - soit via les requêtes POST et GET
//----------------------------------------------------------------------------------
var CommonWikt_ajax = {
http: function(bundle) {
var xmlhttp;
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
xmlhttp = false;
}
}
}
if (xmlhttp) {
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
CommonWikt_ajax.httpComplete(xmlhttp, bundle);
}
};
xmlhttp.open(bundle.method ? bundle.method : "GET", bundle.url, bundle.async === false ? false : true);
if (bundle.headers) {
for (var field in bundle.headers) {
try {
xmlhttp.setRequestHeader(field, bundle.headers[field]);
} catch (err) {}
}
}
xmlhttp.send(bundle.data ? bundle.data : null);
}
return xmlhttp;
},
httpComplete: function(xmlhttp, bundle) {
if (xmlhttp.status == 200 || xmlhttp.status == 302) {
if (bundle.onSuccess) bundle.onSuccess(xmlhttp, bundle);
} else if (bundle.onFailure) {
bundle.onFailure(xmlhttp, bundle);
} else {}
}
};