Twitter PSPP

تجهيز صفحة البحث في تويتر للطباعة

当前为 2020-01-18 提交的版本,查看 最新版本

// ==UserScript==
// @name		Twitter PSPP
// @description		تجهيز صفحة البحث في تويتر للطباعة
// @version		1.1
// @author		@RAKAN938
// @namespace		https://twitter.com/rakan938
// @match		https://twitter.com/search*
// @match		https://mobile.twitter.com/search*
// @require		http://code.jquery.com/jquery-latest.js
// ==/UserScript==

(function() {
    'use strict';

    var frs = "form[role='search']",
        ds = "div > svg",
        hrb = "header[role='banner']",
        ddts = "div[data-testid='sidebarColumn']",
        ddtp = "div[data-testid='primaryColumn']",
        nrn = "nav[role='navigation']",
        dal = "div[aria-label='رجوع']",
        pdd = "path[d^='M19.39 14.882c-1.58']",
        vis = ":visible",
        sop = "rakan938_onclick_styleprint",
        mw = "95%",
        mr = "17%",
        pos = "inherit";

    function applyStylePrint() {
        $(hrb).hide();
        $(ddts).hide();
        $(ddtp).css({"maxWidth": mw, "margin-right":mr});
        $(nrn).hide();
        $(frs).parents().eq(10).css("position", pos);
        $(dal).parent().hide();
        $(pdd).parents().eq(4).hide();
   }

    function removeStylePrint() {
        $(hrb).show();
        $(ddts).show();
        $(ddtp).css({"maxWidth": "", "margin-right":""});
        $(nrn).show();
        $(frs).parents().eq(10).css("position", "");
        $(dal).parent().show();
        $(pdd).parents().eq(4).show();
   }

    function runStylePrint() {
        var checkStylePrint = setInterval(function() {
            if($(hrb).is(vis) || $(ddts).is(vis)) {
                clearInterval(checkStylePrint);
                applyStylePrint();
            }
        }, 1000);
    }

    function addOnClickStylePrint() {
        $(frs).find(ds).click(function() {
            if(! $(hrb).is(vis)){
                removeStylePrint();
            }else{
                $(this).addClass(sop);
                runStylePrint();
            }
        });
    }

    var checkOnClickStylePrint = setInterval(function() {
        if(! $(frs).find(ds).hasClass(sop)) {
            clearInterval(checkOnClickStylePrint);
            addOnClickStylePrint();
        }
    }, 1000);

})();