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
|
//
// libDLMangaSingleContent.js
//
// libDLMangaSingleContent.js is code for download content of Manga's
// single page.
// libDLMangaSingleContent.js is ran on ChromeWorker thread.
//
//
// accept message:
// {
// 'pageUrl' :string,
// 'refererUrl':string,
// 'cookie' :string
// }
//
// pageUrl : Manga Single Content URL
// refererUrl : referer string
// cookie : cookie string
//
//
// send message:
// {
// 'status' :string,
// 'message' :string,
// 'refererUrl':string,
// }
//
// status : 'normarl' or 'error'
// message : error message (string) or content text data (HTML)
// refererUrl : referer string
//
var JSONMessage;
var xhr;
function trueContent(){
let content=xhr.responseText;
self.postMessage(
{'status':'normal','message':content,'refererUrl':JSONMessage.pageUrl}
);
return;
};
function falseContent(){
self.postMessage({'status':'error','message':'MANGA CONTENT FILE ACCEPT ERROR!!'});
return false;
};
function downloadContent(){
xhr=new XMLHttpRequest();
xhr.addEventListener("load",trueContent,false);
xhr.addEventListener("error",falseContent,false);
xhr.open("GET",JSONMessage.pageUrl,false);
if(0<JSONMessage.refererUrl.length){
xhr.setRequestHeader('Referer',JSONMessage.refererUrl);
};
if(0<JSONMessage.cookie.length){
xhr.setRequestHeader('Cookie',JSONMessage.cookie);
};
xhr.send(null);
};
addEventListener("message",function(event){
JSONMessage=JSON.parse(event.data);
if(JSONMessage.pageUrl===undefined
||JSONMessage.refererUrl===undefined
||JSONMessage.cookie===undefined){
self.postMessage({'status':'error','message':'PARAMETA ERROR!!'});
return false;
}
downloadContent();
}, false);
|