(2018.7)由于bilibili更改了封面链接的位置,所以下面的代码已经无法使用,新版请见:https://github.com/akimusume/GetBilibiliVideoCover
昨天(前天)发现那个方法后,今天就想着写个chrome扩展来一键获取。
虽然之前做过一个chrome扩展,不过对chrome扩展的api还是不熟悉,最终花了两个小时才写完。。。虽然功能很简单。。。
下载地址:http://pan.baidu.com/s/1c1Iwnq4
源码:
manifest.json
{
"name": "bilibili视频封面获取器",
"manifest_version": 2,
"version": "1.0",
"description": "获取bilibili视频封面。请在视频页通过右键菜单使用。",
"permissions": [
"contextMenus",
"tabs"
],
"content_scripts": [
{
"matches": ["*://www.bilibili.com/video/*/"],
"js": ["myscript.js"]
}
],
"background": {
"scripts": ["background.js"]
}
}
background.js
function getVideoCover(info, tab)
{
chrome.tabs.sendMessage(tab.id,{},function(response) {
chrome.tabs.create({"url":response.coverImageURL});
});
}
var menu=chrome.contextMenus.create({
"title":"获取视频封面",
"documentUrlPatterns":["*://www.bilibili.com/video/av*"],
"onclick":getVideoCover
});
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
var coverImage=document.getElementsByClassName("cover_image");
if(coverImage.length!=0)
sendResponse({coverImageURL:coverImage[0].currentSrc});
else
alert("来自bilibili视频封面获取器:\n没有找到封面!可能由以下原因导致:\n1、此视频不存在。\n2、此页面并不是标准的视频页面。\n3、本插件出了点问题。\n4、bilibili更改了封面链接的写法。\n");
});