1

Копирование ссылки в мессенджере Facebook - это боль, потому что Facebook добавляет в нее мусор для перенаправления. Например:

https://l.messenger.com/l.php?u=https%3A%2F%2Fpastebin.com%2Fz3au8T2R&h=ATMDXb187CWsF4_H7J-8fClHEigqWDiV1f-764DDoX7LSfnyJC_pLNqWD0wzLPsLUgQP4bq-MwQ1pxsIEg7i8E3WOboUXiG2tWZkSPthU8ZRimfHooSMatcJYLnIRA6PkDsCCAYGZmQyLa1TgpK-xQ3VmwLutw

Есть ли способ удалить всю эту лишнюю грязь / мусор, чтобы, когда я копирую ссылки, это просто ссылка:

https://pastebin.com/z3au8T2R

У меня есть скрипт Chrome Tampermonkey, который делает нечто подобное для ссылок Google, но я не могу найти его для мессенджера Facebook.

Есть ли готовые или какой-то способ сделать это самостоятельно?

1 ответ1

1

Я понял это сам и создал скрипт Tampermonkey для этого. Исходный код здесь, а также ниже:

// ==UserScript==
// @name         Remove Messenger Tracker
// @namespace    http://tampermonkey.net/
// @version      1.2
// @homepage     https://github.com/Puffycheeses/TamperMonkeyMessengerCleaner/
// @updateURL    https://github.com/Puffycheeses/TamperMonkeyMessengerCleaner/raw/master/Remove%20Messenger%20Tracker.user.js
// @description  Removes annoying Facebook Tracker
// @author       Puffycheeses
// @match        *://www.messenger.com/*
// @grant        none
// @require http://code.jquery.com/jquery-1.12.4.min.js
// ==/UserScript==
var i=0;
//var cleaned = 0; //For logging can ignore
var links = document.getElementsByTagName('a');
setInterval(function(){
    var links = document.getElementsByTagName('a');
    //console.log('Scanning for new links'); //Log that its actually working
}, 2500);
setInterval(function(){
    link = links[i];
    if(i < links.length) {
        if(link.href.includes('https://l.messenger.com/l.php?u=')){
            var rep = link.href;
            var ret = rep.replace("https://l.messenger.com/l.php?u=", "").replace(/%3A/g, ":").replace(/%2F/g, "/").replace(/%3F/g, "?").replace(/%3D/g, "=");
            var rek = ret.substring(0, ret.indexOf('&h='));
            //console.log(rek); //For displaying the found links
            link.href = rek;
            //cleaned += 1; //For displaying how many links were found
        }
    }
    if(i < links.length) {
        i+=1;
    } else {
        //if(cleaned > 0){ //This who section was to display how many links have been cleaned
        //    console.log(cleaned + ' Links found and cleaned');
        //}
        //cleaned = 0;
        i=0;
    }
}, 100);

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .