domains/coconuts.co.js
[app.webkitpdf] / domains / coconuts.co.js
1
2 (function (args) {
3      
4     var ar,i;
5     
6     ar = document.getElementsByTagName('style');
7     for(i=0;i<ar.length;i++) {
8         var m = ar[i].getAttribute('media');
9         if (!m) {
10             continue;
11         }
12         if (m.match(/print/)) {
13             ar[i].setAttribute('media', 'speech'); // hacky
14             continue;
15         }
16         ar[i].setAttribute('media','all'); 
17     }
18     ar = document.getElementsByTagName('link');
19     for(  i=ar.length-1;i> -1;i--) {
20         if (ar[i].getAttribute('rel') != 'stylesheet') {
21             continue;
22         }
23         var m = ar[i].getAttribute('media');
24         if (!m) {
25             continue;
26         }
27         if (!m.match(/print/)) {
28             ar[i].setAttribute('media','all'); 
29             
30             continue;
31         }
32         
33         ar[i].parentNode.removeChild(ar[i]); // hacky
34         
35     }
36     for (var ss = 0; ss < document.styleSheets.length; ss++) {
37         var css =document.styleSheets[ss];
38         console.log("sheet " + ss + '/' + document.styleSheets.length + ": " + css.ownerNode.outerHTML) ;
39         
40         var node = css.ownerNode;
41         
42         if (node.nodeName == 'STYLE' && node.getAttribute('media') && getAttribute('media').match(/print/)) {
43             node.innerHTML = '';
44         }
45         
46         var newsheet = '';
47         
48         var ar = document.styleSheets[ss].rules;
49         if (!ar) {
50             continue;
51         }
52         
53         for(i=ar.length-1; i > -1; i--){
54             if(ar[i].cssText.indexOf("@media") < 0 ) {
55                 continue;   
56             }
57              console.log(ar[i].cssText);
58             if(ar[i].cssText.match(/@media\s+print/)) {
59                 console.log("deleting print media");
60                 css.deleteRule(i);
61                 continue;
62             }
63             
64             // see if getting rid of 'only' from screen works.
65             if(!ar[i].cssText.match(/only\s+screen/)) {
66                 continue;   
67             }
68             var str = ar[i].cssText.replace(/only\s+screen/, 'all');
69             
70             css.deleteRule(i);
71             css.insertRule(str,i);
72             
73             
74         }
75     
76     }
77
78     
79     
80 })();