Greasy Fork

Greasy Fork is available in English.

Track aliexpress parcel

Opens parcelsapp with the tracking code of your order

目前为 2022-03-04 提交的版本,查看 最新版本

// ==UserScript==
// @name         Track aliexpress parcel
// @namespace    http://tampermonkey.net/
// @version      0.3
// @description  Opens parcelsapp with the tracking code of your order
// @author       You
// @match        https://trade.aliexpress.com/order_detail.htm*
// @match        https://*.aliexpress.com/store/*
// @icon         https://www.google.com/s2/favicons?domain=aliexpress.com
// @grant        none
// @license MIT
// ==/UserScript==

function track () {
    var trackingDivs = document.querySelectorAll('.logistics-num');
    if (trackingDivs) {
        for (let i = 0; i < trackingDivs.length; i++) {
            let currentDiv = trackingDivs[i];
            var trackingCode = currentDiv.textContent.trim();
            var link = "https://parcelsapp.com/tracking/" + trackingCode;
            currentDiv.innerHTML = "<a href='" + link + "' target='_blank'>" + trackingCode + "</a>";
            //        console.log(trackingCode);
        }
    }
}

function changeTarget() {
    var links = document.querySelectorAll('a[ae_button_type="productList_click"]');
    for (var i = 0; i < links.length; i++) {
        var $el = links[i];
        $el.href = $el.dataset.href;
        $el.setAttribute('target', '_blank');
    }
    links = document.querySelectorAll('a[ae_object_type="product"]');
    var a;
    for (i = 0; i < links.length; i++) {
        $el = links[i];
        $el.href = $el.dataset.href;
        $el.setAttribute('target', '_blank');
    }
    var div;
    links = document.querySelectorAll('div[ae_object_type="product"]');
    for (i = 0; i < links.length; i++) {
        $el = links[i];
        div = document.createElement('a');
        div.href = $el.dataset.href;
        div.innerHTML = 'new tab link';
        div.setAttribute('target', '_blank');
        $el.parentNode.insertBefore( div, $el.nextSibling );
    }
}

(function() {
    'use strict';
    setTimeout(track, 1e3);
    setTimeout(changeTarget, 1e3);
})();