Greasy Fork

Greasy Fork is available in English.

Track aliexpress parcel

Opens parcelsapp with the tracking code of your order

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

// ==UserScript==
// @name         Track aliexpress parcel
// @namespace    http://tampermonkey.net/
// @version      0.5
// @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/*
// @match        https://*.aliexpress.com/p/order/detail.html*
// @icon         https://www.google.com/s2/favicons?domain=aliexpress.com
// @grant        none
// @license MIT
// ==/UserScript==

function track () {
    var trackingDivs = document.querySelectorAll('.logistic-track');
    if (trackingDivs) {
        for (let i = 0; i < trackingDivs.length; i++) {
            let regex = /.*(?:<\/span>)(?:\&nbsp\;.*?)+(.*?)(?:<button)/gm;
            let currentDiv = trackingDivs[i];
            console.log(currentDiv);
            let m = regex.exec(currentDiv.innerHTML);
            console.log(m);
            if (m !== null) {
                var trackingCode = m[1];
                var link = "https://parcelsapp.com/tracking/" + trackingCode;
                currentDiv.innerHTML += "<span> | <a href='" + link + "' target='_blank'>Track</a></span>";
            }
        }
    }
}

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);
})();