aliexpress.com no shitty links

4/8/2021, 8:29:16 PM

// ==UserScript==
// @name        aliexpress.com no shitty links
// @namespace   Violentmonkey Scripts
// @match       https://*.aliexpress.com/*
// @grant       none
// @version     1.0
// @author      -
// @description 4/8/2021, 8:29:16 PM
// ==/UserScript==


const installed = new WeakMap();

function replaceHref(elem, url) {
  elem.setAttribute('href', url)
}

function setEvent(elem, url) {
  elem.addEventListener('mousedown', (e) => {
    e.preventDefault()
    e.stopPropagation()
    switch (e.button) {
      case 0:
        location.href = url;
        break;
      case 1:
        let opened = window.open(url)
        opened.blur()
        window.focus()
        break;
    }
    console.log(url, {button: e.button})
  }, false)
}


function installer(useChild) {
  return function install(elem) {
    if (installed.has(elem))
      return;

    installed.set(elem, true);

    const url = elem.getAttribute('data-href')
    let target = elem

    if (useChild)
      target = elem.querySelector('a') || target

    if (target.tagName == 'A')
      return replaceHref(target, url)

    setEvent(target, url)

    console.log(elem)
  }
}



setInterval(() => {
  Array.from(document.querySelectorAll('a[data-href]')).forEach(installer())
  Array.from(document.querySelectorAll('div[data-href]')).forEach(installer(true))
}, 200)

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址