因为你在 QQ 群中的提问涉及到的问题比较多,所以我到这边回复来吧。
建议先学习基础
今天我一直在和你讲这个问题,但是你一直在回避,那我就在这里展开讲一讲吧。
这个学习方法是没有问题的,我也经常这样去学习。但我并不是说你今天这样的做法就是正确的。
- 现在的前端技术比较复杂,靠这种方法很容易因为基础知识不牢靠而难以前进
- UserScript 是在别人的页面上动刀,前提就是你能够理解对方所使用的技术,或者你的基础知识足够扎实。否则这种刀尖上跳舞的事情基本上是做不好的。
- 你所选择的那个页面既然都会使用动态 ID 了,就意味着他对于这些脚本的修改是做了一定预防措施的。所以你在自己能力不足的情况下,又选择了一个比较困难的问题。
这些综合下来会导致什么呢?看起来你只是提了一个小问题,但是别人解答这个小问题之后,你会由此再产生许多的小问题……虽然是一个很简单的脚本,但是需要别人给你解答许多的小问题,真还不如对方直接写一下这个脚本来的简单。
即便把这些小问题都给你解答了,你真的学会了什么吗?没有相应的基础知识,对于许多答案你都是没有办法理解的。
没有办法理解就先记下来,以后用的时候先照猫画虎,想起来很简单,但这些只是其中非常细节的小问题,你在未来还会遇到无数这样的小问题……那么你需要的可能是一本字典。
我贴出了我教程的链接,你认为其中某些问题,我只是三言两语的带过。确实是如此,可如果所有这样细节的问题我全都展开,你想一下这篇文章会有多少内容。所以这三言两语中,我尽可能把问题的关键点给点出来,这样有需要的朋友就可以根据这个线索去进行深入的查询。
有人指出路了,那么下一步就是自己的探索。如果没有探索能力,那还是付出一定的成本,雇个导游吧。毕竟不可能每一处都有人愿意带着你去亦步亦趋的走到目的地。
如何选择某一个元素
作为前端的基础知识,你总应该知道选择器这个词吧。那么如何选择一个元素,当然是如何写出对应的选择器。自己写不出合适的选择器,为什么不去看一下选择器的文档呢?这和上面朋友所说的,边查边写不是一样的道理吗?不会却不去查……
然而对于动态 ID 的元素,它使用到的必定是一些相对高级的选择器,三言两语很难说得清楚,或者只能说清楚其中很小的一个点。自己查询一下相关的知识都可以有所了解,以后再用就有线索了。但让别人给你举出其中的一个例子,那真的就是溺水三千只取一瓢。
如何本地进行调试
文章中我已经把道理讲的很清楚了,如果是一个网络上的脚本,那么脚本管理器可以自动更新,或者你手动点一下更新按钮,它自动获取新的内容。
所以你在本地搭建一个 http 服务器就可以了,当然这也需要相关的知识,如果听到这里不能够理解……让我从头讲起来话就多了。
当然还有一些其他的方法,这又要区分很多情况,根据你所使用的脚本管理器来采取不同的方法。
暴力猴如果给好了相应的权限,它可以直接导入本地的脚本。
Tampermonkey 则不能使用这样的方法,但是可以在元数据里引用本地的脚本。
这里边还有许多细节的区别,比如你本地文件更新之后,是不是需要在脚本管理器里进行一下相应的更新。真的解释起来,关联的知识非常多,所以依然回到了第1个问题,你必须有相应的基础知识储备,否则每一个问题都牵连大量的相关基础知识,这就没有办法解答了。同时还要有自己动手尝试的探索精神。
而你自己如果又只想着解决当前问题,不愿意动手探索……
如何自动发布
你会更新的非常频繁吗?你这样一个小脚本在开发的时候会大量使用到 git 吗?如果不是的话,你使用这种自动发布的方法未必比你每一次把新的代码粘贴进去更简单。
这个问题又涉及到许多的相关知识,github 的使用,webhook 的设置,raw 文件的获取。你可以认为它们都不算太难,甚至我是在故弄玄虚……但是在 greasyfork 的后台以及帮助里面都有中文的说明,你不打算照着尝试一下吗?难道要别人给你逐步的截图讲解?
唉,讲这么多字,怕不是你看完之后认为我还是没有正面解答问题吧……