inject.js
[app.wkmirror] / inject.js
1 //file which parses document body
2
3 // is prototype insane?
4 try {
5     delete Array.prototype.toJSON;
6     delete Object.prototype.toJSON;
7
8     delete Hash.prototype.toJSON;
9     delete String.prototype.toJSON;
10 } catch (e) {
11     
12 }
13
14 BrowserMirror = {
15     gatherlinks : function () { 
16         var urls= [];
17         for (var i= document.links.length; i-->0;){
18             urls.push( {
19                 href: document.links[i].href,
20                 label : document.links[i].textContent
21             });
22             
23         }
24         console.log(JSON.stringify( {
25             requesturl : document.location.href, // buggy - we should return the requested path.
26             method: 'gatherlinks' ,
27             data : urls
28         }));
29           
30         //return urls;
31         
32     },
33     downloadhead : function (url) {
34         var xmlhttp = new XMLHttpRequest();
35                     
36         
37         xmlhttp.open("HEAD", url,true);
38         xmlhttp.onreadystatechange=function() {
39             if (xmlhttp.readyState==4) {
40                 console.log(
41                     JSON.stringify ({
42                         requesturl : url,
43                         method: 'downloadhead',
44                         headers : xmlhttp.getAllResponseHeaders(),
45                         contentType:xmlhttp.getResponseHeader("Content-Type"),
46                         data:''
47                     }));
48             }
49         }
50         
51         xmlhttp.send(null);
52            
53     },
54
55     downloadpage : function (url) {
56         
57        
58         var xmlhttp = new XMLHttpRequest();
59                     
60         
61         xmlhttp.open("GET", url,true);
62         xmlhttp.onreadystatechange=function() {
63             if (xmlhttp.readyState==4) {
64              
65                 console.log(
66                     JSON.stringify ({
67                         requesturl : url,
68                         method: 'downloadpage',
69                         headers : xmlhttp.getAllResponseHeaders(),
70                         contentType:xmlhttp.getResponseHeader("Content-Type"),
71                         data:btoa(unescape(encodeURIComponent(xmlhttp.responseText)))
72                     }));
73             }
74         }
75         
76         xmlhttp.send(null);
77            
78     }
79 }
80
81         
82
83
84
85 //downloadpage();
86 //gatherlinks();