MediaWiki Diskussion:Common.js

Aus Guild Wars 2 Wiki
Zur Navigation springen Zur Suche springen

window.btoa()[Bearbeiten]

...steht nicht in allen Browsern zur verfügung. -> http://phpjs.org/functions/base64_encode/ Außerdem sollte man das Ganze dringend mal aufräumen - es reicht, wenn man einmal document.ready abfragt. --Smiley™ 02:01, 23. Sep. 2013 (CEST)

Chat-Link Suche?[Bearbeiten]

Hey *, ich hab's ja hier schon mal ein wenig angesprochen, konnte allerdings keine Nachfrage nach einer Chat-Link basierten Suchfunktion mehr finden. Ich denke es spricht eigentlich nicht viel dagegen (höchstens der Aufwand und die vernachlässigbar höhere Serverlast). Trotzdem natürlich die Frage an alle, (v. a. aber die Admins) ob dies von generellem Interesse bzw. überhaupt gewünscht ist. Für den Fall, dass Interesse besteht könnten wir uns ja an die Methode des englischen Wikis (d. h. Common.js -> ChatLinkSearch.js) halten (wir müssten eig. nur ein paar Parameter anpassen). Evtl. würde sich ja auch der Entwickler dieses Skriptes (Patrick Westerhoff (en|de)) bereit erklären uns zu helfen, oder dies sogar ganz zu übernehmen. --Olertu (Diskussion) 12:37, 7. Jul. 2015 (CEST)

Das Hauptargument, dass wir es noch nicht eingeführt haben, ist die Tatsache, dass der /wiki-Befehl im Spiel immer nur das englische Wiki aufruft und sich so der Nutzen doch stark reduziert. Technisch ist das kein Problem, nur die Nachfrage war einfach nicht da. --Think 13:44, 7. Jul. 2015 (CEST)
Deswegen ja auch die Frage, ob das überhaupt von generellem Interesse ist. Wenn es jedoch prinzipiell von Nutzen ist und wir es bloß "noch nicht eingeführt haben", könnte man es sich ja mal überlegen (d. h. wenn es sowieso mal irgendwann gemacht wird können wir es auch gleich machen). Was den /wiki-Befehl angeht, hab ich mal gehört, dass es da eine Notlösung mit /wiki de:xyz geben soll (kann dies gerade leider nicht testen). Prinzipiell hast du auf jedenfall schon recht, dass wir es bei weitem nicht so sehr wie das englische Wiki benötigen und man durchaus noch warten kann, wenn es dann letztendlich sowieso keiner nutzt. --Olertu (Diskussion) 14:56, 7. Jul. 2015 (CEST)
Der Workaround funktioniert nur, weil das englische Wiki die Interwiki-Präfixe bei einer Suche automatisch auf das zugeordnete Sprachenwiki weiterleitet. Das funktioniert auch nur für gültige Seitentitel, und Chatlinks enthalten ungültige Zeichen, also keine Weiterleitung. Kannst es auch testen, indem du einfach mal im englischen Wiki nach "de:[chatlink]" suchst. Das wird im Gegensatz zu "de:Hauptseite" keine Weiterleitung ergeben. --Think 15:05, 7. Jul. 2015 (CEST)
Ok, ich hatte es bereits mit de:[&B9YyAAA=] (Steal) versucht, was, wie du ja gesagt hast, nicht funktioniert hat (ich habe dann einfach gehofft, dass der "de:"-Präfix direkt vom Spiel erkannt wird und die Suche auf der deutschen Wiki-Seite ausgeführt wird). Man könnte sich ja evtl. überlegen den "de:"-Präfix im englischen Wiki per JS zu erkennen und den Suchtext dann ohne den Präfix an das deutsche Wiki weiterzuleiten (wäre meiner Meinung nach gar nicht so dumm, wenn "de:" nur für eine Weiterleitung ins deutsche Wiki verwendet wird). Ansonsten lohnt sich der Decoder wirklich nicht. --olertu 15:32, 7. Jul. 2015 (CEST)
Es wäre halt am sinnvollsten, wenn das Spiel einfach das zur Textsprache gehörende Wiki öffnen würde. Aber das hat halt keine Priorität. --Think 15:52, 7. Jul. 2015 (CEST)

Bug[Bearbeiten]

Hello German wiki, User:Chieftain Alex from en:gw2w here. We've spotted some javascript bugs in your console when searching for chatlinks. Proposed modifications are as follows:

if(mw.config.get('wgPageName') == 'Spezial:Suche') {
    mw.loader.load(mw.util.wikiScript('index') + '?title=MediaWiki:Chatcode-Suche.js&action=raw&ctype=text/javascript');
};

if(mw.config.get('wgCanonicalSpecialPageName') === false) {
    mw.loader.load(mw.util.wikiScript('index') + '?title=MediaWiki:Chatcodes.js&action=raw&ctype=text/javascript');
    mw.loader.load(mw.util.wikiScript('index') + '?title=MediaWiki:Handelsposten-Preise.js&action=raw&ctype=text/javascript');
}

if(mw.config.get('wgPageName') == 'Spezial:Suche') {
    mw.loader.load('/index.php' + '?title=MediaWiki:Chatcode-Suche.js&action=raw&ctype=text/javascript');
};

if(mw.config.get('wgCanonicalSpecialPageName') === false) {
    mw.loader.load('/index.php' + '?title=MediaWiki:Chatcodes.js&action=raw&ctype=text/javascript');
    mw.loader.load('/index.php' + '?title=MediaWiki:Handelsposten-Preise.js&action=raw&ctype=text/javascript');
}

Also, wgTitle is deprecated (see line 8) and should be replaced with mw.config.get('wgTitle') --217.42.244.137 12:23, 15. Jul. 2017 (CEST)

Hey, thanks for that notice. I was looking into this error recently but got sidetracked... I added the missing mw.config.get and the suggested fix. mw.util was missing the ResourceLoader dependency declaration, but yeah, for the given URL just not using that is the far easier way, so I did just that. --Think 13:59, 15. Jul. 2017 (CEST)


Mapwidget-Loader[Bearbeiten]

Könnte mal bitte wer den veralteten Mapwidget-Loader gegen den neuen hier austauschen? Danke! --Smiley™ 22:12, 15. Sep. 2019 (CEST)

	var GW2MapInvokerOptions = {
		lang              : 'de',
		containerClassName: 'gw2map',
		linkboxClassName  : 'gw2map-linkbox',
		navClassName      : 'gw2map-nav',
		scriptContainerId : 'gw2map-script',
		scripts           : [
			'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.5.1/leaflet-src.js',
//			'https://unpkg.com/leaflet-ant-path@1.3.0/dist/leaflet-ant-path.js',
			'https://wiki-de.guildwars2.com/index.php?title=Widget:Karte_v2/data&action=raw&ctype=text/javascript',
		],
		stylesheets :[
			'https://wiki-de.guildwars2.com/index.php?title=Widget:Karte_v2/style&action=raw&ctype=text/css',
		],
	};

	var GW2MapContainers = document.querySelectorAll('.'+GW2MapInvokerOptions.containerClassName);

	if(GW2MapContainers.length){
		if(!document.getElementById(GW2MapInvokerOptions.scriptContainerId)){

			var ES6check = function(){

				if(typeof Symbol == 'undefined'){
					return false;
				}

				try{
					eval('class Foo { bar=[]; }');
					eval('let bar = (x) => x+1');
				}
				catch(e){
					return false;
				}

				return true;
			};

			var s = document.createElement('script');
			var e = document.getElementsByTagName('body')[0].getElementsByTagName('script')[0];

			s.id  = GW2MapInvokerOptions.scriptContainerId;
			s.src = 'https://wiki-de.guildwars2.com/index.php?title=Widget:Karte_v2/script'
			        + (!ES6check() ? '-babel': '') + '&action=raw&ctype=text/javascript';

			e.parentNode.insertBefore(s, e);
		}
	}