我没学过 js,但是我想写一个油猴脚本。 功能是在论坛这些网站放一个很多回复语的选项,选中哪个回复语(比如,谢谢楼主。但是又不是只有这一句)就会填好在回复框,然后点击发布就可以了。 请问一下,写这样的脚本难吗。谢谢大家
1
yiXu 2020-10-10 12:39:28 +08:00
感觉不是特别难,匹配网站,添加 dom,dom 按钮添加触发,触发后根据 id 给输入框写入对应内容。
|
2
IsaacYoung 2020-10-10 12:44:24 +08:00
不难
1. 找到回复正文的 class 2. 绑定事件,例如点击时弹出弹窗是否引用该回复 3. 如果是找到回复的输入框把内容复制进去 |
3
imdong 2020-10-10 12:56:43 +08:00 via iPhone
切入点挺好,从新手入门到中阶开发,能一步步优化上去,新手做不是很难(如果有其他编程语言基础的话),不然可能需要了解的东西还是挺多的,不要用 jQuery 之类的东西,可以直接搞原生。
个人还是挺推荐这样的通过有目的实践的学习方法,而且难度不是很高。 |
4
yamedie 2020-10-10 13:09:08 +08:00
(() => {
let list = ['学习了', '谢谢楼主', '紫薯布丁']; let c = t => document.createElement(t); let s = t => document.querySelector(t); let ta = s('textarea'); if(!ta) return; let box = c('div'); box.style.position = 'absolute'; box.style.display = 'none'; box.style.background = 'rgba(230, 230, 230, 0.4)'; box.style.borderRadius = '0.2em'; for (let i of list) { let p = c('p'); p.innerText = i; p.style.color = '#333'; p.style.margin = '0.5em 1em'; p.style.cursor = 'pointer'; p.onclick = () => { ta.value = ta.value + i; box.style.display = 'none'; }; box.appendChild(p); } document.body.appendChild(box); ta.oncontextmenu = e => { e.preventDefault(); console.log(e); let { pageX, pageY } = e; box.style.top = pageY + 'px'; box.style.left = pageX + 'px'; box.style.display = 'block'; } })(); // 根据楼主的描述写了一个 |
5
yamedie 2020-10-10 13:10:25 +08:00
// 右键点击文本框的时候可以触发
|