🏠 返回首頁 

Greasy Fork is available in English.

Twitter Auto Latest Tweet

Automatically switch to latest tweet.

// ==UserScript==
// @name Twitter Auto Latest Tweet
// @version 1.1
// @author PartMent
// @description Automatically switch to latest tweet.
// @match https://mobile.twitter.com/
// @match https://twitter.com/
// @match https://mobile.twitter.com/home
// @match https://twitter.com/home
// @license MIT
// @grant none
// @namespace https://greasyfork.org/users/310437
// ==/UserScript==
let MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
if (MutationObserver) console.log('Auto Latest is enabled.');
let observer = new MutationObserver(e => {
let latest = false;
let menu = document.querySelector('main div[data-testid="primaryColumn"] div[aria-expanded="false"]:not([data-testid="userActions"])');
if (menu && !latest) {
menu.click();
}
e.every(l => {
let menusvg = document.evaluate('./div/div/div/div/*[local-name() = "svg"]/*[local-name() = "g"]', l.target, null, XPathR###lt.ANY_TYPE, null).iterateNext();
if (menusvg && menusvg.childElementCount == 3) {
let menubutton = document.evaluate('./div/div/div/div[2]', l.target, null, XPathR###lt.ANY_TYPE, null).iterateNext();
menubutton.click();
latest = true;
console.log('Switched to Latest.');
observer.disconnect();
return;
}else if (menusvg && menusvg.childElementCount == 6) {
if (!latest) document.querySelector('div[data-focusable="true"] div').click();
latest = true;
console.log('Already in Latest.');
observer.disconnect();
return;
}
});
});
observer.observe(document.body, {childList: true, subtree: true});