-
Notifications
You must be signed in to change notification settings - Fork 0
/
extension-controller.js
54 lines (45 loc) · 1.7 KB
/
extension-controller.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
var app = angular.module('extensionApp', []);
app.controller('extensionController', function ( $scope, $http ) {
/**
* URL base de um video do youtube
*/
$scope.YOUTUBE_VIDEO_LINK = "https://www.youtube.com/watch";
/**
* URL da api do youtubeInMp3
*/
$scope.YOUTUBE_IN_MP3_API_LINK = "www.youtubeinmp3.com/fetch/?video=";
//--------------------------------------------------------------------------
// HANDLERS
//--------------------------------------------------------------------------
/**
* Função de download do video do youtube
*/
$scope.onDownloadClick = function () {
chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function (tabs) {
var url = tabs[0].url;
//Verificamos se a url atual contem o link base de uma URL de video do YOUTUBE
if ( url && url.includes( $scope.YOUTUBE_VIDEO_LINK ) )
{
// Está em uma URL válida de video.
var downloadUrl = getDownloadUrl( url );
chrome.downloads.download({ url: downloadUrl }, function success ( data ) {
console.log( 'Sucesso:', data );
Materialize.toast('Download iniciado...');
})
}
else
{
Materialize.toast('Essa URL não é uma URL de video do Youtube.');
}
});
}
/**
* @param URL atual
* @return URL no formato que a API de video do YoutubeInMp3 espera.
*/
function getDownloadUrl( currentUrl )
{
var downloadUrl = 'https://' + $scope.YOUTUBE_IN_MP3_API_LINK + currentUrl;
return downloadUrl;
}
});