Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 一个元素隐藏脚本的目标是在“facebook.com”的所有页面上工作,它只在某些浏览器环境下工作_Javascript_Facebook_Userscripts - Fatal编程技术网

Javascript 一个元素隐藏脚本的目标是在“facebook.com”的所有页面上工作,它只在某些浏览器环境下工作

Javascript 一个元素隐藏脚本的目标是在“facebook.com”的所有页面上工作,它只在某些浏览器环境下工作,javascript,facebook,userscripts,Javascript,Facebook,Userscripts,我有一个脚本,可以对facebook.com的所有页面中的各种元素执行显示:无或可见性:隐藏。我用Firefox中的Greasemonkey和Chrome中的Tampermonkey运行它。最终结果在这两种浏览器中是相同的 我正在经历以下有线情况,这可能与facebook使用react.js有关 问题是: 如果我只是在about:blank中打开浏览器并导航到facebook.com/page_2,那么脚本就可以工作了 如果我在facebook.com/page_1中,并在新选项卡中打开face

我有一个脚本,可以对
facebook.com
的所有页面中的各种元素执行
显示:无
可见性:隐藏
。我用Firefox中的Greasemonkey和Chrome中的Tampermonkey运行它。最终结果在这两种浏览器中是相同的

我正在经历以下有线情况,这可能与facebook使用react.js有关

问题是:
  • 如果我只是在
    about:blank
    中打开浏览器并导航到facebook.com/page_2,那么脚本就可以工作了

  • 如果我在facebook.com/page_1中,并在新选项卡中打开facebook.com/page_2,脚本将在该页面上运行

  • 但是:

    • 如果我在facebook.com/page_1中,并在同一选项卡中打开facebook.com/page_2,脚本将无法在该页面上运行

    • 如果我在“主页”(一般的墙页)中,脚本可以运行(比如说,因为我是通过方式1或方式2到达的),但是我单击一个链接到同一页面的外围链接(比如,主导航栏中的“主页”链接),页面将被重新加载,但这次脚本无法运行


    我的问题: 你知道如何解释这种行为吗

    我如何才能与之抗争,使脚本始终有效

    到目前为止,我尝试的是: 我尝试在设定的时间间隔内运行它,以便它每半秒运行一次,并在所有情况下删除所有内容,但它没有帮助:

    // ==UserScript==
    // @name        facebook
    // @namespace   nms
    // @include     http://*.facebook.com/*
    // @include     https://*.facebook.com/*
    // @version     1
    // @grant       none
    // ==/UserScript==
    
    setInterval( ()=> {
    
    // generalStuff:
    
        document.querySelectorAll(' #left_nav_section_nodes, .fbChatSidebar ').forEach( (e)=> {
            e.style.visibility = "hidden";
    });
    
    // myWall:
    
        document.querySelectorAll(' #stream_pagelet ').forEach( (e)=> {
            e.style.visibility = "hidden";
    });
    
    // People lists:
    
        // Friends list:
    
            document.querySelectorAll(' #pagelet_timeline_medley_friends, .friendBrowserForm, #u_jsonp_3_2e ').forEach( (e)=> {
                e.style.visibility = "hidden";
            });
    
        // PMYK:
    
            document.querySelectorAll(' #timeline_tab_content, #pagelet_pymk_timeline ').forEach( (e)=> {
                e.style.visibility = "hidden";
            });
    
    // alert('All selectors are valid so far');
    
    }, 500);
    

    你是如何使用这个脚本的?我编辑了这个问题并对此进行了详细说明。你把这个脚本放在哪里?在您的控制台内?不,它由GreaseMonkey/Tampermoneky在每个页面中执行。由于页面将不断重新呈现部分并覆盖覆盖覆盖,因此您最好通过userstyles.org和样式表来解决此问题。看看你是如何使用这个脚本的?我编辑了这个问题并对此进行了详细说明。你把这个脚本放在哪里?在您的控制台内?不,它由GreaseMonkey/Tampermoneky在每个页面中执行。由于页面将不断重新呈现部分并覆盖覆盖覆盖,因此您最好通过userstyles.org和样式表来解决此问题。看见