chrome扩展——bilibili视频封面获取器

(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
});


myscript.js
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");
});




你可能感兴趣的:(Chrome)