#1 - 2019-6-29 10:02
yuzhan1990
Dialogue.moe 动画对白全文检索工具,简单来说就是查找对白的出处,与saucenao和whatanime类似,不过这个是检索对白的,详见https://bgm.tv/group/topic/351313
虽然它提供了按动画的Bangumi ID检索的功能,但没有显示检索结果中的动画的ID,于是自己写了个脚本,来显示它.示例:
脚本使用前
妄想改造人改藏 ep.02 Score: 19.231
脚本使用后
10940妄想改造人改藏 ep.02 Score: 19.231
截图不能,意会就好~
它的功能在于,在找出对应关键词的各条字幕后,快速复制id到Bangumi ID检索栏,进行进一步检索,无需点开各个标题来查看对应的id
本来想实现的功能是,点击id即可自动复制到Bangumi ID检索栏,再自动点击搜索按钮,一键实现结果中搜索.但撞了墙,在给元素添加点击事件后,不清楚怎样让事件去定位是哪个元素触发的,因此无法区分输入对应的id,只能输入固定字符.还望大佬指点,这样的代码要怎样写~
此外,由于无法得知检索按钮按下后出结果的延迟时间,因此设置每秒触发一遍,感觉有些浪费性能.不知道在后端实现这项功能,能否直接照搬这段代码?方便的话还是希望原作者 @windrises能在后端就直接把id给显示出来,当然要能实现点击即可在目标番剧中搜索就更好啦!
最后附上代码,粘贴至油猴即可使用:
// ==UserScript==
// @名字         dialogue.moe显示动画名的ID
// @名字space    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://dialogue.moe/
// @七濑        none
// ==/UserScript==

(function() {
    'use strict';
    function showID(){
        var table = document.querySelectorAll('table > tbody > tr');
        var cln;
        var id;
        var title;
        for(var i=0;i<table.length;i++){
            cln = document.createElement('span');
            id = table.querySelector('td > div > div > div > div > button > span > a').getAttribute('href').replace(/.*\//g,'');
            cln.textContent = id;
            title = table.querySelector('td > div > div > div.hidden-xs-only.el-row.is-justify-space-around.el-row--flex > div');
            if(!table.querySelector('td > div > div > div.hidden-xs-only.el-row.is-justify-space-around.el-row--flex > div > button:nth-child(2)')){
                title.insertBefore(cln,title.childNodes[0]);
            }
            //cln.addEventListener("click", function(){document.querySelector('div.el-col.el-col-24.el-col-sm-12.el-col-lg-8 > div > input').value = cln.textContent;});
        }
    }
    setInterval(showID, 1000);
})();
#2 - 2019-6-29 10:20
哦对了,还有就是我本来想给搜索栏设定position: sticky !important;来让它粘在窗口上方的,但无效,这是为什么?是不是原作者@windrises设定的页面里有特别的CSS技巧?
#2-1 - 2019-6-30 11:56
windrises
在页面上显示id我感觉不是很有必要
前端的问题我也是一脸懵逼 github里有vue源码
#2-2 - 2019-6-30 23:38
epix
这个css看起来work
header {
    position: sticky;
    top: 0;
    z-index: 99;
}
#2-3 - 2019-7-2 01:01
yuzhan1990
epix 说: 这个css看起来work
header {
&nbsp; &nbsp; position: sticky;
&nbsp; &nbsp; top: 0;
&nbsp; &nbsp; z-index: 9...
啊原来是没指定top,谢谢指点
#3 - 2019-6-29 12:58
(いいんです)
能不能用 code 代码框住啊草(
#4 - 2019-6-30 17:18
@  名字space  海星