Facebook Auto "Most Recent" Stories

Change Facebook and groups feed to "Most Recent"

目前为 2019-05-28 提交的版本。查看 最新版本

// ==UserScript==
// @name        Facebook Auto "Most Recent" Stories
// @version     0.1559010793
// @author      Hélder Ferreira
// @namespace   https://gf.qytechs.cn/users/89591
// @homepageURL https://gf.qytechs.cn/en/scripts/382099-facebook-auto-most-recent-stories
// @description Change Facebook and groups feed to "Most Recent"
// @compatible  chrome
// @compatible  firefox
// @compatible  opera
// @compatible  safari
// @compatible  msedge
// @license     MIT
// @icon        https://en.facebookbrand.com/wp-content/uploads/2019/04/f_logo_RGB-Hex-Blue_512.png
// @match       https://*.facebook.com/*
// @grant       none
// ==/UserScript==
(function(){ var arr = [
    "",
    "// ### Global vars ###",
    "var cur = new URL(window.location.href), spurl = cur['href'].split('/'),",
    "",
    "// ### Feed vars ###",
    "fd = cur['origin'] + '?sk=h_chr', elm = document.querySelectorAll(\"[data-click='bluebar_logo'] > a, ._3qcu > a, #navItem_4748854339 > a\"), grp = document.querySelectorAll(\"[data-type='type_group'] > a\"),  idx = ['?sk=h_nor', '?ref=logo', '?sk=nf', '?ref=tn_tnmn'],",
    "",
    "// ### Groups vars ###",
    "grid = document.querySelectorAll(\"[property='al:android:url']\"), gdisc = document.querySelectorAll('._2yau'), gpop = ['CHRONOLOGICAL', 'RECENT_ACTIVITY'], gref = ['?ref=group_header', '?ref=bookmarks', '?ref=direct', '?fref=nf', '?ref=nf_target&fref=nf'];",
    "",
    "",
    "// ### For Feed ###",
    "if(cur['href'] === cur['origin'] + '/'){",
        "window.location.replace(fd);",
    "}",
    "idx.forEach((a) => {",
        "if(cur['search'].includes(a)){",
            "window.location.replace(fd);",
        "}",
    "});",
    "elm.forEach(elm => elm.addEventListener('click', () => {",
        "window.location.replace(fd);",
    "}), false);",
    "",
    "",
    "// ### For Groups ###",
    "grp.forEach(shc => shc.addEventListener('click', () => {",
        "shc = shc.getAttribute('href');",
        "window.location.replace(groupSec(shc, gpop[0]));",
    "}, false));",
    "",
    "if(cur['href'].includes('groups') && !cur['href'].includes('permalink') && !cur['href'].includes('comment_id')){",
        "if(spurl[5] === '' || spurl[5] === null || spurl[5] === gref[0] || spurl[5] === gref[1] || spurl[5] === gref[2] || spurl[5] === gref[3] || spurl[5] === gref[4] || spurl[5] !== '?sorting_setting=' + gpop[0]){",
            "window.location.replace(sortGrp(grid, 'content', gpop[0], cur['origin'] + '/'));",
        "}",
    "}",
    "",
    "// # Discussion link event #",
    "if(gdisc[1] !== undefined){",
        "var abpg = document.querySelectorAll('._2yaa');",
        "abpg = abpg[1].getAttribute('data-key');",
        "if(!abpg.includes('tab_about')){",
            "gdisc[1].addEventListener('click', () => { window.location.replace(sortGrp(grid, 'content', gpop[0], cur['origin'] + '/')) }, false);",
        "}",
    "}",
    "",
    "// # 'post time' & 'comment time' link event #",
    "var postime = document.querySelectorAll('._5pcq');",
    "postime.forEach(ptm => ptm.addEventListener('click', () => {",
        "ptm = ptm.getAttribute('href');",
        "window.location.replace(ptm);",
    "}, false));",
    "",
    "var comtime = document.querySelectorAll('._6qw7');",
    "comtime.forEach(cmt => cmt.addEventListener('click', () => {",
        "cmt = cmt.getAttribute('href');",
        "window.location.replace(cmt);",
    "}, false));",
    "",
    "",
    "// ### Required functions ###",
    "// # Arguments: a = element where group ID is located, b = atribute where group ID is, c = type of group disposition (CHRONOLOGICAL or RECENT_ACTIVITY), d = Facebook domain, rs = a resource variable #",
    "function sortGrp(a, b, c, d, rs){",
        "a = a[0].getAttribute(b);",
        "rs = a.split('/');",
        "return d + 'groups/' + rs[3] + '/?sorting_setting=' + c;",
    "}",
    "",
    "// # Arguments: a = href attribute, b = type of group disposition (CHRONOLOGICAL or RECENT_ACTIVITY), rs = a resource variable #",
    "function groupSec(a, b, rs){",
        "rs = a.toString().replace(/(.?)ref=bookmarks/gi, \"\");",
        "return rs + \"?sorting_setting=\" + b;",
    "}",
    "",
    ].join("\n");
    var js = document.createElement("script");
    js.type = "text/javascript";
    js.appendChild(document.createTextNode(arr));
    document.querySelectorAll("head")[0].appendChild(js);
})();

QingJ © 2025

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