-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathHD_YouTube.user.js
More file actions
64 lines (56 loc) · 1.76 KB
/
HD_YouTube.user.js
File metadata and controls
64 lines (56 loc) · 1.76 KB
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
55
56
57
58
59
60
61
62
63
64
// ==UserScript==
// @name HD YouTube
// @namespace armeagle.nl
// @include *youtube.com*
// ==/UserScript==
function DOM_script() {
var script = document.getElementsByTagName('head')[0].appendChild(document.createElement('script'));
script.setAttribute('type', 'text/javascript');
return script.textContent=DOM_script.toString().replace(/[\s\S]*"\$1"\);([\s\S]*)}/,"$1");
var AEincreaseQualities = ' small,medium,large';
var AEsetQuality = 'hd720';
var AEplayer = null;
var AEmaxtries = 5;
window.AEcallback = function(event) {
console.log('callback');
if (event == 1) {
window.AEincreaseQuality();
}
}
window.AEincreaseQuality = function() {
console.log('AEincreaseQuality');
AEmaxtries--;
if (AEmaxtries < 0) {
return;
}
if (AEplayer.getPlaybackQuality == null) {
setTimeout(AEincreaseQuality, 300);
} else {
var quality = AEplayer.getPlaybackQuality();
if (AEincreaseQualities.indexOf(quality) > 0) {
AEplayer.setPlaybackQuality(AEsetQuality);
}
quality = AEplayer.getPlaybackQuality();
if (quality != AEsetQuality) {
setTimeout(AEincreaseQuality, 300);
}
}
}
AEplayer = document.getElementById('movie_player');
if (AEplayer) {
AEplayer.addEventListener('onStateChange', AEcallback);
window.AEincreaseQuality();
} else {
document.addEventListener('DOMNodeInserted', function(event) {
if (event.target && event.target.hasAttribute('id') && event.target.getAttribute('id') == 'movie_player') {
AEplayer = document.getElementById('movie_player');
if (AEplayer) {
AEplayer.addEventListener('onStateChange', AEcallback);
AEmaxtries = 5;
window.AEincreaseQuality();
}
}
});
}
}
DOM_script();