使用greasemonkey用户脚本移动twitter元素

mwkjh3gx  于 2021-09-13  发布在  Java
关注(0)|答案(0)|浏览(228)

我还在学习javascript,所以我想我应该试着开始使用greasemonkey来解决一些日常问题,并使用一些纯javascript来解决这些问题。
所以,在twitter上,我希望有自己的布局,我认为这是可行的,我会在重新构建它的过程中了解更多,但我从简单开始,移动一个元素,搜索表单。
我在一个基本的本地html页面上“概念证明”了元素的一次移动。这起到了作用:

  1. <head>
  2. </head>
  3. <body>
  4. <div>
  5. <p>Stuff</p>
  6. </div>
  7. <div data-testid="eliot1">
  8. <p>Things</p>
  9. </div>
  10. <div aria-label="eliot2">
  11. <p>Bits</p>
  12. </div>
  13. </body>
  14. </html>

... 使用此脚本:

  1. (function moveSearch2() {
  2. 'use strict';
  3. const elPriColly = document.querySelector('div[data-testid="eliot1"]');
  4. const elSrcy = document.querySelector('div[aria-label="eliot2"]');
  5. elPriColly.insertBefore(elSrcy, elPriCol.childNodes[0]);
  6. })();

从本质上说,比特最终高于事物。一切都好。
当我尝试将这一点应用到twitter上时,世界似乎发生了翻天覆地的变化,我真的不知道为什么。

  1. (function moveSearch() {
  2. 'use strict';
  3. const elPriCol = document.querySelector('[data-testid="primaryColumn"]');
  4. const elSrc = document.querySelector('form[aria-label="Search Twitter"]');
  5. elPriCol.insertBefore(elSrc, elPriCol.childNodes[0]);
  6. // moveSearch2();
  7. })();

我试过有和没有 divform 在此处的属性选择之前,两者都不起作用。
如何移动具有该属性的表单元素 aria-label="Search Twitter" 作为具有该属性的div中的第一个元素 data-testid="primaryColumn" ?
ftr
我已经在一张纸上看了这里的所有条目 [GreaseMonkey] Twitter 搜索
我检查了其他脚本(太复杂了)
我做了一些基本的起始页搜索。抱歉,如果我的搜索引擎不够好,但我只是想在这里学习。
我已经检查了控制台是否有错误,但它没有为脚本生成任何错误(我在这一点上看到了一些错误)。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题