Greasy Fork

Greasy Fork is available in English.

Track aliexpress parcel

Opens parcelsapp with the tracking code of your order

目前为 2022-05-28 提交的版本,查看 最新版本

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

function track () {
    var trackingDiv = document.querySelector('.tracking-no span');
    if (trackingDiv) {
            var trackingCode = trackingDiv.innerText;
            var link = "https://parcelsapp.com/tracking/" + trackingCode;
            trackingDiv.innerHTML = "<span><a href='" + link + "' target='_blank'>" + trackingCode + " | 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);
})();