Widget:Game link
De Guild Wars 2 Wiki
Ir a la navegaciónIr a la búsqueda
Descripción
Este widget coge una ID y genera un código de chat. Es utilizado por la Plantilla:Game link.
Parámetros
- tipo
- El tipo de enlace. Posibles valores:
objeto
,mapa
,habilidad
,rasgo
,receta
,diseño
,atuendo
,texto
- id
- El identificador del "item": el atributo Has game id.
Ejemplos
:{{habilidad icono|Postura desafiante}}: {{#widget:Game link|type=habilidad|id=21815}}
Notes
- The javascript embedded by this widget has been minified. The full un-minified code is provided below:
(function (elementId) { var link = document.getElementById(elementId); if (!link) { return; } function encodeChatLink2(type, id) { if (!type) { return 'tipo no válido'; } var linkTypes = { objeto: 2, texto: 3, mapa: 4, habilidad: 6, rasgo: 7, receta: 9, diseño: 10, atuendo: 11 }; type = linkTypes[type.trim().toLowerCase()] || 0; if (!type) { return 'tipo no válido'; } var data = []; while (id > 0) { data.push(id & 255); id = id >> 8; } while (data.length < 4 || data.length % 2 != 0) { data.push(0); } if (type == 2) { data.unshift(1); } data.unshift(type); // Encode data var binary = ''; for (var i = 0; i < data.length; i++) { binary += String.fromCharCode(data[i]); } // Note "btoa" function isn't supported in IE, however Mediawiki removes // all javascript in IE anyway, so no polyfill required. return '[&' + btoa(binary) + ']'; } var chatLink = encodeChatLink2(link.getAttribute('data-type'), +link.getAttribute('data-id')); var input = document.createElement('input'); input.className = 'chatlink'; input.type = 'text'; input.value = chatLink; input.readOnly = true; input.spellcheck = false; link.appendChild(document.createTextNode(chatLink)); link.parentNode.insertBefore(input, link); link.addEventListener('click', function () { this.style.visibility = 'hidden'; input.style.display = 'inline-block'; input.focus(); input.select(); document.execCommand('Copy'); }, false); input.addEventListener('blur', function () { this.style.display = null; link.style.visibility = null; }, false); })('gamelink-<!--{$GameLink_counter}-->');