SELECT * FROM Vzakladke.net

Статьи об автоматизации и программировании

Расширение для скачивания музыки с Майл Ру из браузера Chrome

 

 

Первым делом создадим рисунок icon.png размерами 48x48 (это иконка будущего расширения, при нажатии на которую мы будем получать листинг ссылок).

Затем создаем manifest.json, это некий конфигурационный файл, в котором даем разрешение обращаться к МайлМиру, а также к вкладкам самого браузера. Создаем manifest.json, это некий конфигурационный файл, в котором мдаем разрешение обращаться к сайту МайлМир, а также к вкладкам самого браузера:

 

{
"manifest_version":2,
"name":"Downlowder",
"version":"1.0",
"description":"Downlowder",
"permissions": [
"http://my.mail.ru/*",
"tabs"
],
"browser_action": {
"default_title":"Downlowder",
"default_icon":"icon.png",
"default_popup":"popup.html"
}
}

Тут же мы указываем название и описание нашего расширения, и иконку icon.png которая будет отображаться в панели.

Потом нам нужно будет скачать файл с библиотекой jquery, чтобы подключить его к нашему расширению для работы следующего скрипта (см. popup.html).

 

Собственно говоря далее подключаем самый важный наш файл script.js со следующим содержимым:

$(document).ready(function () {
chrome.tabs.getSelected(null, function (tab) {
var url = tab.url;
if (url.indexOf("http://my.mail.ru/my/audio") > -1) {
$('#wrapper').append('Mail:<br />');
xhr = new XMLHttpRequest();
xhr.open("GET", url, true);
xhr.send(null);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.responseText) {
var data = xhr.responseText;
$('.jp__track', data).each(function (index) {
var title = $(this).attr('data-author')+'-'+$(this).attr('data-name')+' ('+$(this).attr('data-duration')+')';
var href = $(this).attr('data-url');
href = href.substring(0, href.indexOf('.mp3') + 4);
title = '<a href="' + href + '" download>' + title + '</a>';
if (url.indexOf(href) < 0) $('#wrapper').append(title + '<br />');
});
}
}
}
} else {
if (url.indexOf("http://my.mail.ru/my/audio") == -1) $('#wrapper').html('Audio not found');
}
});
});

* В целом эта строка кода уже не обязательна: if (url.indexOf("http://my.mail.ru/my/audio") == -1)  поскольку мы уже указали в манифесте. 

Чтобы отображать ссылки нам потребуется описать файл popup.html выпадающего окна расширения:

<!DOCTYPE html>
<html>
<head>
 <meta charset="windows-1251" />
 <title>Document</title>
 <meta name="keywords" content="" />
 <meta name="description" content="" />
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <script src="jquery.min.js"></script>
 <script src="script.js"></script>
 <style>
 *{margin:0; padding:0;}
 a, a:visited{color:#0857a6}
 body{width:500px;padding:10px;font-family:Trebuchet MS, Arial, Tahoma, Sans;overflow:auto;}
 .aligncenter {display: block; margin-left: auto; margin-right: auto; text-align:center; font-size:18px;}
 </style>
</head>
<body>
 <div class="aligncenter"><a href="http://asksql.org/" target="_blank">ASKSQL</a></div>
 <div id="wrapper"></div>
</body>
</html>
 

 

 

Дата публикации: 2015-09-21 11:01:18

javascript

0

Отзывы:

Ваше имя:

Ваш e-mail (необязательно):

Сообщение:

Captcha