Поясню сразу: я крайне
негативно отношусь к пиратству. Зачем я сделал этот плагин? Да
потому что мог . Пользоваться я им не буду, да и вам не рекоммендую
.
Мануал по установке и использованию после кода.
Составные части плагина:
{
"manifest_version": 2,
"name": "VkMusicDownloader",
"description": "",
"version": "1.0",
"permissions": [
"tabs",
"http://vk.com/*",
"downloads"
],
"browser_action": {
"default_icon": "img/icon.png"
},
"background" : {
"scripts" : [
"js/main.js"
]
},
"content_scripts" : [
{
"matches": ["http://vk.com/*", "https://vk.com/*"],
"js" : ["js/jquery-2.1.1.min.js", "js/pageAnalyser.js"]
}
]
}
Да, в этом плагине я использовал jQuery.
chrome.browserAction.onClicked.addListener(
function() {
chrome.tabs.query(
{
active: true,
currentWindow: true
},
function(tabs) {
// посылаем запрос к открытой закладке на получение урла записи и ее тайтла
chrome.tabs.sendMessage(
tabs[0].id,
{
greeting: "hello"
},
function(response) {
if(response.url) {
chrome.downloads.download({
url : response.url,
filename : response.title.replace(/[^a-zA-Zа-яА-Я0-9\-_ \(\)\.]/g, "_") + ".mp3",
saveAs : true
});
} else {
alert("Невозможно скачать файл: URL не определен");
}
}
);
}
);
}
);
(function() {
// глобальный объект для хранения информации об аудио
var audio = {
url : false,
title : ""
};
// вешаем событие на клик элементов на странице, которые запускают воспроизведение записи
$(document).on("click", "div.audio[id*='audio']", function() {
var info = $("#" + $(this).attr("id").replace("audio", "audio_info"));
var title = $(this).find(".title_wrap").text();
if(info.length) {
audio.url = info.attr("value");
audio.title = title;
} else {
audio.url = false;
audio.title = ""
}
});
// слушаем получение сообзения от экстеншна
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
sendResponse({
url: audio.url,
title: audio.title
});
}
);
})();
VkMusicDownloader
manifest.json
img
icon.png
js
jquery-2.1.1.min.js
jquery-2.1.1.min.map
main.js
pageAnalyser.js
В браузере появилась кнопка рядом с адресной строкой.
При нажатии на эту кнопку будет предложено сохранить воспроизводимый сейчас трэк.
Собственно все.
Ииииииииипомните! Пиратство - это плохо!