Prevent your tweet from searching
当前为
// ==UserScript==
// @name Insert 0-width into Tweet
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Prevent your tweet from searching
// @author eggplants
// @homepage https://github.com/eggplants
// @match https://twitter.com/compose/tweet
// @grant none
// ==/UserScript==
/*jshint esversion: 8 */
function rafAsync() {
return new Promise((resolve) => {
requestAnimationFrame(resolve);
});
}
async function checkElement(selector) {
let q = null;
while (q === null) {
await rafAsync();
q = document.querySelector(selector);
}
return q;
}
window.onload = function () {
"use strict";
let btn = document.createElement("button");
btn.innerHTML = "Insert 0-width space";
btn.onclick = function () {
let elms = Array.from(
document.querySelectorAll(
`div[style="max-height: 720px; min-height: 96px;"]>div>div>div>div>div>div>span>*`
)
);
let elms_ns = elms.map((x) => x.tagName);
let uniq_elms_ns = [...new Set(elms_ns.flat(1))];
if (
elms.length === 0 ||
(uniq_elms_ns.length === 1 && uniq_elms_ns[0] === "BR")
) {
// do nothing
} else if (
elms_ns.includes("SPAN") &&
elms[elms.length - 1].tagName !== "BR"
) {
alert("Put a new line at the end of your tweet!");
} else {
elms.forEach((e) => {
e.innerText = e.innerText
.replaceAll("", "")
.replaceAll(/(.)/g, "$1");
});
console.log("inserted!");
}
};
const qs =
"div.css-1dbjc4n.r-1iusvr4.r-16y2uox.r-1777fci" +
".r-1h8ys4a.r-1bylmt5.r-13tjlyg.r-7qyjyx.r-1ftll1t" +
"> div:nth-child(3) > div > div > div:nth-child(1)";
checkElement(qs).then((e) => {
console.info(e);
e.appendChild(btn);
});
console.log("loaded!");
};