MediaWiki:Common.js: различия между версиями

Нет описания правки
Нет описания правки
 
(не показана 1 промежуточная версия этого же участника)
Строка 1: Строка 1:
if(document.getElementById('currency-converter-root')) {
if(document.getElementById('currency-converter-root')) {
mw.loader.using('ext.gadget.currency-converter', console.log, console.error)
mw.loader.using('ext.gadget.currency-converter', console.log, console.error)
}
const decodeCyrillic = (url) => {
  return url.replace(/%[0-9A-F]{2}/gi, (match) => {
    try {
      const char = decodeURIComponent(match)
      return /[\u0400-\u04FF]/.test(char) ? char : match
    } catch(e) {
      return match
    }
  })
}
}


Строка 19: Строка 8:
copyLink.addEventListener('click', e => {
copyLink.addEventListener('click', e => {
e.preventDefault()
e.preventDefault()
copy(decodeCyrillic(window.document.location.href))
copy(decodeURI(window.document.location.href))
e.target.textContent = 'Ссылка скопирована!'
e.target.textContent = 'Ссылка скопирована!'
if(copyLinkTimeout !== undefined) clearTimeout(copyLinkTimeout)
if(copyLinkTimeout !== undefined) clearTimeout(copyLinkTimeout)
Строка 25: Строка 14:
e.target.textContent = 'Скопировать ссылку'
e.target.textContent = 'Скопировать ссылку'
}, 3000)
}, 3000)
console.log(e.target)
e.target.closest('a').blur()
e.target.blur()
return false
return false
})
})