找回密码
 立即注册
搜索
查看: 1568|回复: 10

[软件] 有没有好心人帮忙写个油猴脚本,修改投票设置?

[复制链接]
     
发表于 2021-4-7 12:13 | 显示全部楼层 |阅读模式
管理员关闭投票波及投票区很多帖子,手动开弄累死了,虽然会点JS但是一时不知道怎么在浏览器直接执行脚本

有没有好心人帮忙写个油猴的脚本(我不会写),最好加载页面完之后有个按钮,把三处标红的地方自动设置一下:
1、计票天数设置为0
2、公开投票参与人设置为checked

当然最好还能有个
3、下拉栏自动根据标题识别为TV OVA MOV
2021-04-07 12.05.13 bbs.saraba1st.com 1d373bb88fe6.png
回复

使用道具 举报

     
发表于 2021-4-7 13:32 | 显示全部楼层
  1. javascript:(function(){document.getElementById('polldatas').value=0;document.getElementById('overt').checked=true;})();
复制代码

前两个需求,存成小书签吧。
回复

使用道具 举报

     
发表于 2021-4-7 13:42 | 显示全部楼层
  1. // ==UserScript==
  2. // @Name         修改投票设置
  3. // @Match         https://bbs.saraba1st.com/2b/*
  4. // @grant          GM_registerMenuCommand
  5. // ==/UserScript==

  6. GM_registerMenuCommand('启动', () => {
  7.     document.getElementById('polldatas').value = 0
  8.     document.getElementById('overt').checked = true
  9. })
复制代码
LS代码的用户脚本版本,至于为什么没有加第三个需求……因为我从来没有发过投票贴,不知道HTML长啥样。


回复

使用道具 举报

     
 楼主| 发表于 2021-4-7 14:25 | 显示全部楼层
GrassSand 发表于 2021-4-7 13:32
前两个需求,存成小书签吧。

谢谢,我就是不知道怎么存为小书签使用
回复

使用道具 举报

     
 楼主| 发表于 2021-4-7 14:26 | 显示全部楼层
cxf5102 发表于 2021-4-7 13:42
LS代码的用户脚本版本,至于为什么没有加第三个需求……因为我从来没有发过投票贴,不知道HTML长啥样。

谢谢,后面的我自己会写

但是这段存为油猴自定义脚本,报存说“用户脚本无效”
回复

使用道具 举报

     
发表于 2021-4-7 14:28 | 显示全部楼层
hein 发表于 2021-4-7 14:25
谢谢,我就是不知道怎么存为小书签使用

随便添加一个书签,编辑url改成上面的代码,用的时候点一下
回复

使用道具 举报

     
发表于 2021-4-7 14:30 | 显示全部楼层
本帖最后由 mayourt 于 2021-4-7 15:36 编辑
  1. // ==UserScript==
  2. // @name         S1 vote thread revise
  3. // @namespace    http://tampermonkey.net/
  4. // @version      0.1
  5. // @description  revise s1 vote thread default options
  6. // @author       ruanz
  7. // @match        https://bbs.saraba1st.com/2b/forum.php?mod=post*
  8. // @grant        none
  9. // ==/UserScript==

  10. (function() {
  11.     'use strict';

  12.     // Your code here...
  13.     let button_revise = document.createElement("button");
  14.     button_revise.id = "revise default";
  15.     button_revise.type = "button";
  16.     button_revise.textContent = "一键修改原始值";
  17.     button_revise.style.width = "100px";
  18.     button_revise.style.height = "40px";
  19.     button_revise.style.align = "center";

  20.     button_revise.onclick = function (){
  21.         document.getElementById("polldatas").value=0;
  22.         document.getElementById("overt").checked=true;
  23.         let subject_origin = document.getElementById("subject").value;
  24.         console.log(subject_origin)
  25.         let option_value = "";
  26.         if(subject_origin.includes("TV")){
  27.             option_value = "329";
  28.             document.getElementById("typeid").setAttribute('selecti', 1);
  29.         } else if (subject_origin.includes("MOV")){
  30.             option_value = "330";
  31.             document.getElementById("typeid").setAttribute('selecti', 2);
  32.         } else if (subject_origin.includes("OVA")){
  33.             option_value = "331";
  34.             document.getElementById("typeid").setAttribute('selecti', 3);
  35.         }

  36.         document.getElementById("typeid").innerHTML="<option value="+option_value+"></option>"
  37.         return;
  38.     };

  39.     document.getElementsByClassName('pbt cl')[0].appendChild(button_revise);
  40. })();
复制代码

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
那个match的地址可能要改下,自动改选项那个,最后select里option执行了了一个onclick的玩意儿,我不知道怎么改了,晚上有时间再改
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
更新了下,看了下post内容,应该是对的,页面显示没变,但实际提交应该改了,这个select写的真鸡儿怪
回复

使用道具 举报

     
 楼主| 发表于 2021-4-7 14:33 | 显示全部楼层
GrassSand 发表于 2021-4-7 14:28
随便添加一个书签,编辑url改成上面的代码,用的时候点一下

发现vivaldi和edge不支持url是js的书签,只有chrome才行,难怪我以前搞不定
回复

使用道具 举报

     
发表于 2021-4-7 14:34 | 显示全部楼层
hein 发表于 2021-4-7 14:26
谢谢,后面的我自己会写

但是这段存为油猴自定义脚本,报存说“用户脚本无效” ...

Name 和 Match 改成首字母小写应该就行了
回复

使用道具 举报

     
 楼主| 发表于 2021-4-7 14:37 | 显示全部楼层
谢谢各位帮忙
回复

使用道具 举报

     
 楼主| 发表于 2021-4-7 15:52 | 显示全部楼层
mayourt 发表于 2021-4-7 14:30
--------------------------------------------------------------------------------------------------- ...

dz用了js把select都替换了,我懒得研究赋值了,直接innerHTML了


  1. // ==UserScript==
  2. // @name         S1投票贴修正
  3. // @namespace    http://tampermonkey.net/
  4. // @version      0.1
  5. // @description  revise s1 vote thread default options
  6. // @author       ruanz
  7. // @match        https://bbs.saraba1st.com/2b/forum.php?mod=post&action=edit&fid=83&tid=*
  8. // @grant        none
  9. // ==/UserScript==

  10. (function() {
  11.     'use strict';

  12.     // Your code here...
  13.     let button_revise = document.createElement("button");
  14.     button_revise.id = "revise default";
  15.     button_revise.type = "button";
  16.     button_revise.textContent = "一键修改原始值";
  17.     button_revise.style.width = "100px";
  18.     button_revise.style.height = "40px";
  19.     button_revise.style.align = "center";

  20.     button_revise.onclick = function (){
  21.         document.getElementById("polldatas").value=0;
  22.         document.getElementById("overt").checked=true;
  23.         let subject_origin = document.getElementById("subject").value;
  24.         console.log(subject_origin)
  25.             var x = document.getElementsByClassName("ftid");
  26.         if(subject_origin.includes("TV")){
  27.             x[0].innerHTML="<div class='ftid'><select name='typeid' id='typeid' width='80' selecti='1' style='display: none;'><option value='329'></option></select><a href='javas"+"cript:;' id='typeid_ctrl' style='width: 80px;' tabindex='1' initialized='true'>TV</a></div>";
  28.         } else if (subject_origin.includes("MOV")){
  29.             x[0].innerHTML="<div class='ftid'><select name='typeid' id='typeid' width='80' selecti='2' style='display: none;'><option value='330'></option></select><a href='javas"+"cript:;' id='typeid_ctrl' style='width: 80px;' tabindex='1' initialized='true'>MOVIE</a></div>";
  30.         } else if (subject_origin.includes("OVA")){
  31.             x[0].innerHTML="<div class='ftid'><select name='typeid' id='typeid' width='80' selecti='3' style='display: none;'><option value='331'></option></select><a href='javas"+"cript:;' id='typeid_ctrl' style='width: 80px;' tabindex='1' initialized='true'>OVA</a></div>";
  32.         } else {
  33.             x[0].innerHTML="<div class='ftid'><select name='typeid' id='typeid' width='80' selecti='4' style='display: none;'><option value='332'></option></select><a href='javas"+"cript:;' id='typeid_ctrl' style='width: 80px;' tabindex='1' initialized='true'>其他</a></div>";
  34.         }
  35.         document.getElementById("typeid").focus();
  36.         location.assign("javascript:window.onclick();void(0)");
  37.         return;
  38.     };

  39.     document.getElementsByClassName('pbt cl')[0].appendChild(button_revise);
  40. })();
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-11-15 08:39 , Processed in 0.057113 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表