#1 - 2015-7-19 02:31
拿月亮自刎 (情更怯)
更新:
最近学习JS试着写了搜索辅助脚本,发出来交流一下吧

更新:
10.1: 移除部分访问不稳定的网站,在右下角增加设置选项。
添加几个磁力搜索引擎
重新修改部分代码
2016.6.14:
移除失效的搜索引擎。天国的漫游(bgm41)
将设置选项开关移动到“Bangumi 客户端”的面板内,避免鼠标移动到首页的每日放送上时无法显示番组名的情况。
功能描述:

在bangumi条目、动画、游戏、书籍目录添加搜索跳转图标。
方便在查阅条目的时候,搜索资源
花园、漫游等搜索默认是搜索条目中文名,如果没有中文名搜索日文名。
其它搜索引擎默认搜索日文名。
可以根据需要添加其他搜索引擎,添加格式代码里有说明。
大部分里番黄油都能搜到(其实都是烂大街的资源了)
默认开启其中三个:
dmhyDownload Search, btdigg
可以根据需要在右下角选择需要的搜索引擎。

效果图:




存在的问题
书籍目录和游戏目录暂时不支持,bug还没找到
原来是忘了添加include(bgm38)

主要参考Bangumi Music+
感谢@Ruby

greasemonkeyTampermonkey 测试通过

安装地址:
greasyfork地址
Github地址
最后,无视我糟糕的英语吧(bgm38)
#2 - 2015-7-19 03:57
Coding Style 未統一。

create_link() 内

if(document.getElementById('navMenuNeue').children[0].children[0].className == "focus chl anime" ||
   document.getElementById('navMenuNeue').children[3].children[0].className == "focus chl" ||
   document.getElementById('navMenuNeue').children[1].children[0].className == "focus chl") {


目录根本就没有 .focus ,create_link() 没有返回值
这么说来 create_link 就 create_link ,为啥还要这个判断式

// Data format and order like this: name : ["title", "icon", "searchapi"].

改成这样的格式会更好:
{title: "title", icon: "icon", searchapi: "searchapi"}



function contains(val, arr) {
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] === val)
            return true;
    }
    return false;
}

你需要 Array Iterator :
for(i in arr) {


for (var i = 0, len = searchEngineLists.length; i < len; i++) {

同理,
for(i in searchEngineLists)


寻找某对象是否存在数组:

arr.find(function(i) { return (i === 'stringToCheck') })



create_link(searchAPIs[engine_name][2].replace(/\{searchTerms\}/, encodeURIComponent(grey_anime_name[0].textContent)))

create_link 调用方式太复杂,何不把 replace 跟 encode 都写在 function 内?

然后你写一堆的 tra ... catch 干嘛……
遇到错误就直接不给你在 console 上报错了,增加 debug 难度

然后 bgm.tv 还有 https 不要忘了 (bgm38)
#2-1 - 2015-7-19 12:22
若卡
这个时候提交pull request才是正确做法 (bgm38)
#2-2 - 2015-7-19 13:23
ビノタ
若卡 说: 这个时候提交pull request才是正确做法 (bgm38)
這樣會變成我 rewrite 一次 (bgm38)
我想讓 LZ 了解「要怎麼改」 還有「為什麼要這樣改」
#2-3 - 2015-7-19 13:26
ビノタ
BinotaLiu 说: 這樣會變成我 rewrite 一次
我想讓 LZ 了解「要怎麼改」 還有「為什麼要這樣改」
我突然發現我把 try ... catch 寫成了 tra ... catch (bgm38)
#2-4 - 2015-7-19 15:17
拿月亮自刎
BinotaLiu 说: 我突然發現我把 try ... catch 寫成了 tra ... catch
感谢你的指点。
creat_link 内那逻辑判断是冗余的,已经修改了或者转移到其它函数里面。
将数组改为对象属性,可读性是好些,并且不用考虑顺序。之前我的想法是也就三个元素,索性就随便些下来了。
关于你提到的寻找某对象是否存在数组:
除了你提到使用 find传匿名函数,
还有stringArray.indexOf(searchStr)
还有使用jquery  $.inArray(val, array)
for in 写python的时候经常用,写JS突然忘记了
总之,大致修改好了。
#2-5 - 2015-7-24 09:00
漫步ACG
有必要https?bgm又没有。
#2-6 - 2015-7-24 09:02
ビノタ
漫步ACG 说: 有必要https?bgm又没有。
https://bgm.tv/
#2-7 - 2015-8-25 00:04
漫步ACG
BinotaLiu 说: https://bangumi.tv/
无法访问
#2-8 - 2015-8-25 00:10
板砖加身
漫步ACG 说: 无法访问
只有bgm.tv有https
#2-9 - 2015-8-25 00:13
漫步ACG
板砖加身 说: 只有bgm.tv有https
(bgm64)
#2-10 - 2015-8-25 00:20
ビノタ
漫步ACG(id: 3092) 说: 无法访问
你装了什么插件把地址替换了吧?
我写的是
https://bgm.tv/

可是我看到你的回复里 quote 的是 bangumi.tv
#2-11 - 2015-8-25 00:31
漫步ACG
BinotaLiu 说: 你装了什么插件把地址替换了吧?
我写的是
https://bgm.tv/
可是我看到你的回复里 quote 的是 bangumi.tv
你看你的原文是怎么样的?我换个浏览器看到的还是bangumi.tv,系统自动转换?
#2-12 - 2015-8-25 00:33
ビノタ
漫步ACG(id: 3092) 说: 你看你的原文是怎么样的?我换个浏览器看到的还是bangumi.tv,系统自动转换?
记得好像会自动转换,记得 sai 老板说他修好了 '_>`
这我就不清楚了,我写的原文确实是
https://bgm.tv/
#2-13 - 2015-8-25 00:43
漫步ACG
BinotaLiu 说: 记得好像会自动转换,记得 sai 老板说他修好了 '_>`
这我就不清楚了,我写的原文确实是
https://bgm.tv/
那你现在看你的原文是哪个?如果是bgm.tv的话就不是自动转换了,还是系统出现了因用户而异的高级动态转换功能?(bgm39)
#2-14 - 2015-8-25 00:48
ビノタ
漫步ACG(id: 3092) 说: 那你现在看你的原文是哪个?如果是bgm.tv的话就不是自动转换了,还是系统出现了因用户而异的高级动态转换功能?
我发现真的是 Bangumi 系统转换的,
我用 bgm.tv 看到的是
https://bgm.tv/

用 bangumi.tv 看到的是
https://bangumi.tv/


我当时回复确实是打 bgm.tv 啊……
#2-15 - 2015-8-25 01:10
漫步ACG
BinotaLiu 说: 我发现真的是 Bangumi 系统转换的,
我用 bgm.tv 看到的是
https://bgm.tv/
用 bangumi.tv 看到的是
https://bangumi.tv/

我当时回复确实...
原来是和登录的域名有关,这好办,让站长再买张证书(bgm12)
#3 - 2015-7-19 10:07
(Ruby ❤ Sapphire)
那个脚本是我当初几乎不懂js时候直接抄一个豆瓣音乐关联虾米的。。。所以。。。
#3-1 - 2015-7-19 11:50
chaucer
哈哈哈
#3-2 - 2015-7-19 13:05
菜籽酱
(ಥ_ಥ)
#3-3 - 2015-7-19 15:25
拿月亮自刎
把我的纯情还给我
还是感谢你,你写的那个脚本还是很好用的。
参考那个脚本我才又写这个契机,对自己也是一个锻炼。(个人很懒的)
#4 - 2015-7-24 09:00
(好想穿越去二次元)
可以的话,请发到GreasyFork去吧。
#4-1 - 2015-7-24 09:34
拿月亮自刎
好的,已添加 发现没有人用这个脚本。 (bgm38)
#4-2 - 2015-8-25 00:13
漫步ACG
拿月亮自刎 说: 好的,已添加 发现没有人用这个脚本。
(bgm07)
#5 - 2015-9-20 21:35
然而我用searchbar扩展的……另外我对那个google cse自订引擎里包含了那些网站比较感兴趣……
#6 - 2016-6-14 00:52
一个小问题,Win10 Chrome Tampermonkey,鼠标放在首页的每日放送上时无法显示番名
#6-1 - 2016-6-14 19:59
拿月亮自刎
已修复,感觉移动设置位置有点不美观。
#6-2 - 2016-6-14 21:24
MononeV
拿月亮自刎 说: 已修复,感觉移动设置位置有点不美观。
Nice
#7 - 2016-6-14 22:39
(hhh汝视视汝)
棒 已加到awesome-bangumi