jQuery Ошибка взлома Twitter в TamperMonkey, но не в консоли - PullRequest
0 голосов
/ 02 апреля 2020

Twitter добавил нижний колонтитул «Не пропустите ...» в свой веб-интерфейс, и я хочу удалить его. Этот скрипт Tampermonkey (v4.10.6105 на Firefox 73.0.1) не работает:

// ==UserScript==
// @name        Clean up twitter argle bargle
// @include     https://twitter.com/*
// @require     http://ajaxgoogleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// ==/UserScript==
$('.r-zchlnj').remove();

, где r-zchlnj - один из классов в div, окружающих нижний колонтитул. Если я go в консоль, я получаю (приблизительно, есть некоторые украшения, которые не вырезать и не вставлять)

>>$('.r-zchlnj')
<div class="r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-184en5c" style="">
>>$('.r-zchlnj').remove()
undefined
>>

, и нижний колонтитул исчез. Добавление одного из

@grant unsafeWindow

, как предлагается ниже, или

@grant none

, потому что запуск сценария без коробки непосредственно на самой странице звучит так, как будто он может работать, или

@grant window.focus

потому что, возможно, фокус окна появляется после размещения нижнего колонтитула (я не понимаю фокус окна браузера), чтобы скрипт не удалял нижний колонтитул.

Хотя скрипт может быть плохим, я предполагаю, что скрипт запускается до некоторые Javascript прививают нижний колонтитул в DOM. Есть ли более обоснованное объяснение и, что более важно, метод удаления нижнего колонтитула?

...