这个news site(卫报)有一个小框架,显示在页面的右下角,代码如下:
<div class="initially-off social-cta-overlay">
<div class="social-cta-overlay-content"></div>
</div>
我隐藏了内部div
的内部内容,因为它们并不重要。我编写了一个Greasemonkey脚本,它使用JQuery隐藏此框,因为它出现在每个页面上:
// ==UserScript==
// @name hide-guardian-ad
// @namespace guardian
// @description Hides the Guardian social media frame
// @version 1
// @grant none
// ==/UserScript==
// @require http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
$(".social-cta-overlay").hide()
我安装了脚本,但没有任何反应,盒子仍在那里。
答案 0 :(得分:12)
该脚本有3个问题(最差的):
@require
指令在the metadata block之外。这意味着Greasemonkey将其忽略为普通的javascript注释。@include
或@match
指令。这意味着该脚本将在每个站点的每个页面和iframe上触发! (崩溃其中一些,并攫取资源。)@grant none
表示the script will interfere with and crash all or part of many sites。此脚本有效:
// ==UserScript==
// @name hide-guardian-ad
// @include http://www.theguardian.com/*
// @description Hides the Guardian social media frame
// @require http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @grant GM_addStyle
// ==/UserScript==
$(".social-cta-overlay").hide()
答案 1 :(得分:0)
试试这个:
$(document).find(".social-cta-overlay").hide();