FB Mobile: Last Online Activity

get last active time

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         FB Mobile: Last Online Activity
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  get last active time
// @author       You
// @match        https://m.facebook.com/messages/read/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    var el = document.querySelector(".fbLastActiveTimestamp abbr");
    if (el)
    {
        var json = JSON.parse(el.getAttribute("data-store"));
        var ltime = +json.time;
        function gettime(t){
            function lz(x){x<<=0;var p=x<10?"0"+x:x+"";return p=="00"?"":p+":";}
            var d=lz(t/86400);
            var h=lz(t/3600%24);
            var m=lz(t/60%60);
            var s=lz(t%60);
            var r = d+h+m+s;
            return r.slice(0,-1);
        }//
        var ttime = gettime(new Date/1e3-ltime), lat = new Date(ltime*1e3);
        var ne = document.createElement("span");
        ne.innerHTML = `<abbr>`+ttime + " (" + lat + ")"+`</abbr>`;
        ne.setAttribute("class", "fbLastActiveTimestamp mfss fcg");
        ne.setAttribute("style", "display:block");
        el.parentNode.appendChild(ne);
        console.warn("Elapsed:", ttime);
        console.warn("Last Active Date:", lat);
    }
    // Your code here...
})();