Insert 0-width into Tweet

Prevent your tweet from searching

当前为 2021-09-26 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Insert 0-width into Tweet
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description Prevent your tweet from searching
  6. // @author eggplants
  7. // @homepage https://github.com/eggplants
  8. // @match https://twitter.com/compose/tweet
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. /*jshint esversion: 8 */
  13.  
  14. function rafAsync() {
  15. return new Promise((resolve) => {
  16. requestAnimationFrame(resolve);
  17. });
  18. }
  19.  
  20. async function checkElement(selector) {
  21. let q = null;
  22. while (q === null) {
  23. await rafAsync();
  24. q = document.querySelector(selector);
  25. }
  26. return q;
  27. }
  28.  
  29. window.onload = function () {
  30. "use strict";
  31. let btn = document.createElement("button");
  32. btn.innerHTML = "Insert 0-width space";
  33. btn.onclick = function () {
  34. let elms = Array.from(
  35. document.querySelectorAll(
  36. 'span[data-text="true"],br[data-text="true"]'
  37. )
  38. );
  39. let elms_ns = elms.map((x) => x.tagName);
  40. let uniq_elms_ns = [...new Set(elms_ns.flat(1))];
  41. if (
  42. elms.length === 0 ||
  43. (uniq_elms_ns.length === 1 && uniq_elms_ns[0] === "BR")
  44. ) {
  45. // do nothing
  46. } else if (
  47. elms_ns.includes("SPAN") &&
  48. elms[elms.length - 1].tagName !== "BR"
  49. ) {
  50. alert("Put a new line at the end of your tweet!");
  51. } else {
  52. elms.forEach((e) => {
  53. e.innerText = e.innerText
  54. .replaceAll("​", "")
  55. .replaceAll(/(.)/g, "$1​");
  56. });
  57. console.log("inserted!");
  58. }
  59. };
  60. const qs =
  61. "div.css-1dbjc4n.r-1iusvr4.r-16y2uox.r-1777fci" +
  62. ".r-1h8ys4a.r-1bylmt5.r-13tjlyg.r-7qyjyx.r-1ftll1t" +
  63. "> div:nth-child(3) > div > div > div:nth-child(1)";
  64. checkElement(qs).then((e) => {
  65. console.info(e);
  66. e.appendChild(btn);
  67. });
  68. console.log("loaded!");
  69. };

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址