-
Notifications
You must be signed in to change notification settings - Fork 4
/
contentscript.js
executable file
·82 lines (74 loc) · 2.84 KB
/
contentscript.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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
var functionHash = {
createVideo() {
function getSource() {
//拿到视频资源的MP4地址
//http://mov.bn.netease.com/mobilev/2011/1/E/0/S6OPRM5E0.mp4
var mp4Url = document.body.innerHTML.replace(/[\s\S]*appsrc : '([\s\S]*?)movie([\s\S]*?)-list\.m3u8'[\s\S]*/,
'$1mobilev$2.mp4')
return mp4Url;
}
function createVideo() {
if (document.getElementById('video')) {
return
}
//去掉flash播放
flash = document.getElementById("FPlayer");
var width = 740;
var height = 415;
flash.style.display = "none";
//添加HTML播放
var div = document.createElement("div");
var video = document.createElement("video");
var style = `width:${width}px;height:${height}px;position:absolute;top:140px;left:100px;z-index:9999;`
video.style = style;
video.id = 'video';
video.src = getSource();
video.controls = 'controls';
video.autoplay = 'true';
div.appendChild(video)
document.body.appendChild(div);
addController(video);
console.log('Done:create a palyer of HTML5video and add a tag about playbackRate.')
}
function addController(video) {
var span = document.createElement('span');
var style = "backgroundColor:red;position:absolute;top:150px;left:700px;z-index:9999;color:red"
span.style = style;
span.id = 'mySpan';
document.body.appendChild(span)
document.onkeypress = function(e) {
var key = e.keyCode || e.which || e.charCode;
var k = video.playbackRate;
switch (key) {
// +
case 61:
k += 0.1;
break;
// -
case 45:
k -= 0.1;
break;
default:
break
}
k = Math.round(10 * k) / 10;
mySpan = document.getElementById('mySpan');
if (k === 1) {
mySpan.innerText = '';
} else {
mySpan.innerText = 'X' + k;
}
console.log('playbackRate:' + k)
video.playbackRate = k;
}
}
createVideo();
},
}
chrome.extension.onMessage.addListener(function(data) {
console.log(data + ':' + functionHash.hasOwnProperty(data))
if (functionHash.hasOwnProperty(data)) {
var executeFun = functionHash[data]
executeFun();
}
});