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/*/*
  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. function main() {
  30. "use strict";
  31. let btn = document.createElement("button");
  32. btn.setAttribute("id", "zerow");
  33. btn.innerHTML = "Insert 0-width space";
  34. btn.onclick = function () {
  35. let elms = Array.from(
  36. document.querySelectorAll(
  37. `div[style="max-height: 720px; min-height: 96px;"]>div>div>div>div>div>div>span>*`
  38. )
  39. );
  40. let elms_ns = elms.map((x) => x.tagName);
  41. let uniq_elms_ns = [...new Set(elms_ns.flat(1))];
  42. if (
  43. elms.length === 0 ||
  44. (uniq_elms_ns.length === 1 && uniq_elms_ns[0] === "BR")
  45. ) {
  46. console.log("do nothing");
  47. } else if (
  48. elms_ns.includes("SPAN") &&
  49. elms[elms.length - 1].tagName !== "BR"
  50. ) {
  51. alert("Put a new line at the end of your tweet!");
  52. } else {
  53. elms.forEach((e) => {
  54. e.innerText = e.innerText
  55. .replaceAll("​", "")
  56. .replaceAll(/(.)/g, "$1​");
  57. });
  58. console.log("inserted!");
  59. }
  60. };
  61. const qs =
  62. "div.css-1dbjc4n.r-1iusvr4.r-16y2uox.r-1777fci" +
  63. ".r-1h8ys4a.r-1bylmt5.r-13tjlyg.r-7qyjyx.r-1ftll1t" +
  64. "> div:nth-child(3) > div > div > div:nth-child(1)";
  65. checkElement(qs).then((e) => {
  66. console.info(e);
  67. e.appendChild(btn);
  68. });
  69. console.log("loaded!");
  70. }
  71.  
  72. function waitForCompose() {
  73. if(window.location.href === "https://twitter.com/compose/tweet" &&
  74. document.readyState === "complete" &&
  75. document.getElementById("zerow") === null
  76. ){
  77. main();
  78. clearInterval(t);
  79. }else{
  80. console.log("timer");
  81. }
  82. }
  83.  
  84. var t = setInterval(myTimer, 500);

QingJ © 2025

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