优化版—GM勋章搜索(5.18 更新)
本帖最后由 Makima 于 2023-5-18 17:57 编辑5月18 更新修复了一些网页的bug(日志,任务)
static/image/hrline/4.gif
名称:GM勋章搜索
功能:点击勋章图片,自动搜索禁止GM本身“点击勋章跳转勋章商城”
优化内容:直接使用高级搜索 “全文”“勋章博物馆”过滤了一些非勋章图片(例如表情,头像,帖内图片等)搜索时去除一些符号和内容
使用方法:导入油猴,暴力猴之类的插件里
我的其他脚本:
GM简化水贴特化—回帖检测脚本禁止b站视频自动播放
建议:发现没搜到的勋章, 在找到帖子后,可以把名字回复/补充到对应帖子,方便之后的村民{:6_200:}
//@Name // ==UserScript==
// @name GM勋章搜索
// @version 0.14
// @author M
// @grant GM_openInTab
// @match https://www.gamemale.com/*
// ==/UserScript==
(function() {
'use strict';
var currentUrl = window.location.href;
var isForumPage = currentUrl.startsWith('https://www.gamemale.com/forum.php') && !currentUrl.includes('?');
var isReplyPage = currentUrl.includes('https://www.gamemale.com/reply');
var isTaskPage = currentUrl.includes('https://www.gamemale.com/home.php?mod=task');
var isSpacePage = currentUrl.includes('https://www.gamemale.com/home.php?mod=space');
if (!isReplyPage && !isTaskPage && !isSpacePage && !currentUrl.includes('https://www.gamemale.com/blog')) {
if (isForumPage) {
return;
}
// 获取所有图片
var imagesParent = document.body;
imagesParent.addEventListener('click', function(event) {
var target = event.target;
// 判断点击的元素是否为有 alt 属性的图片
if (target.tagName.toLowerCase() === 'img' && target.hasAttribute('alt') && !/\.(jpg|jpeg|png|gif|bmp)$/.test(target.getAttribute('alt')) && !/^[;::]/.test(target.getAttribute('alt'))) {
var name = target.getAttribute('alt');
var cleanedName = name.replace(/[,,『』]/g, '').replace(/【.*?】/g, '').replace(/[\'\"\‘\’\“\”]/g, '').trim(); //去除符号
if (cleanedName) {
var searchUrl = 'https://www.gamemale.com/search.php?mod=forum&adv=yes&searchsubmit=yes&srchtxt=' + encodeURIComponent(cleanedName) + '&srchtype=fulltext&srchfid[]=138';
GM_openInTab(searchUrl, {active: true});
event.preventDefault();
}
}
});
}
// 高级搜索设置
function selectMuseumAndGuild() {
var searchForm = document.querySelector('#scbar_form');
if (searchForm) {
var museumCheckbox = searchForm.querySelector('input"]');
if (museumCheckbox) {
museumCheckbox.checked = false;
}
var guildCheckbox = searchForm.querySelector('input"]');
if (guildCheckbox) {
guildCheckbox.checked = true;
}
}
}
if (location.pathname === '/search.php') {
selectMuseumAndGuild();
autoOpenSingleResult();
}
})();
76引鸡 感谢优化脚本,上一个版本确实会在输入一些表情的场合触发搜索 这个的确挺方便的,不过对于部分勋章,好像同样还是搜索不到,比如楼主的“我的冶金打火机”这个勋章,因为这个勋章是“破旧打火机”的升级版,可能全匹配会导致匹配不上吧,关键字匹配的话对于部分勋章好像也不太友好。 掌握属性就能快人一步,已经可以预见周年补货的腥风血雨了{:6_190:}
还不快去背——(×) 助力周年庆挤爆论坛() 哇这个功能好方便,以前一个一个搜真的很麻烦,感谢 本帖最后由 AncL 于 2023-5-22 16:40 编辑
{:4_86:}感谢mkm大佬 mkm 我滴超人
(找一找有没有bug)
【发现bug】@Makima
点开日志,然后点击日志的图片,会进入搜索栏,搜索的内容是日志的标题
【再一次发现bug】@Makima
点击上图中的【新人贴】【图片】【荐】【火】【赞】也会触发搜索(虽然感觉平时根本没人会点,也不是很需要修这个bug)
哇哦虽然不大懂 但是觉得很高级
目前刚开始玩徽章 好多觉得好看的都偷偷记在笔记本上了 - - 不过一个个找确实好麻烦 之前的脚本还没试就有更新版本,厉害了 嗯哼( ̄∀ ̄)还带更新的咩~要是能是创建新窗口打开就更好哩~ 真的很实用惹,不用自己手动搜索:loveliness: 挺方便的功能,一键三连支持一下 好棒的功能,这下检索勋章方便了 谢谢分享,优化之后,功能进一步加强了。 方法还是一样的,看来因为勋章名称会变导致的无法搜索问题是难以解决 {:4_93:}感谢mkm的工作,距离上一版确实过去一段时间了,来试试这个 被镇楼吸引,很实用的功能^O^ 现在玩勋章真是越来越方便了啊 上一个版本在领取发帖周任务的时候也会触发搜索惹{:4_114:} 每天蹲一蹲大佬们的帖子,玩勋章能更加轻松hhh