PageSourceSearch

https://guardian.co.tt/javascript-8.15.0.20190603071603.f37a3c6fff

js guardian.co.tt collected 2026-10-02 02:23:49 UTC 3,964 bytes, 98 lines download raw bytes

1    
2        //HOW TO
3        //add class ag-var-bind to container element you want to overwrite data from. Functions handles all alements that have forementioned class
4        //syntax for binding metadata is #meta[<name of metatag>]
5        
6        function ElementQuery(selector){
7            this.elements = document.querySelectorAll(selector);
8
9            this.forEach = function(data){
10                for(var k =0; k<this.length; k++){
11                    //Execute / assing functions included in data
12                    data.call(null,this.elements[k],k);
13                }
14                return true;
15            }
16
17            this.length = this.elements.length
18        }
19
20        function initMetaBind(){
21
22            //function to bind metadata to selected section
23            function MetaBind(str,element){
24                //recognize all marked meta[<variable>] to data change
25                var regExBrack = /#meta\[([a-zA-Z0-9.-])+\]/g;
26                var tpl = str;
27                var matches = str.match(regExBrack);
28                var noMatchesErr = 'No matches found within '+str;
29
30                try{
31                    if(matches && matches.length > 0){
32                        console.log(matches)
33                        matches.forEach(function(match){
34                            var target = match.slice(6,-1);
35                            var meta = document.querySelector('meta[name="'+target+'"]');
36                            var metaAll = new ElementQuery('meta[name="'+target+'"]');
37                            var noMetaErr = 'No meta tag defined for '+match;
38                            var noValErr = 'No value defined for '+match;
39
40                            try{
41                                if (meta){
42                                    var value;
43
44                                    if(metaAll.length > 1){
45                                        var valArr = new Array;
46                                        metaAll.forEach(function(element){
47                                            valArr.push(element.getAttribute('content'));
48                                        })
49                                        if(metaAll.length == 2)
50                                            value = valArr.join(' and ')
51                                                else
52                                                    value = valArr.join(', ')
53                                    }else {
54                                        value = meta.getAttribute('content')
55                                    }
56
57
58                                    if( value && value !== "GML"){
59                                        element.classList.add('var-bind-complete');
60                                        tpl = tpl.replace(match,value)
61                                    }else {
62                                        tpl = tpl.replace(match,'')
63                                        throw noValErr
64                                        }
65                                }else{
66                                    tpl = tpl.replace(match,'')
67                                    throw noMetaErr;
68                                }
69
70                            }catch(err){
71                                console.warn(err)
72                            }
73                        
74                        })
75                    
76                        return tpl;
77
78                    }else throw noMatchesErr
79                    
80
81
82                }catch(err){
83                    console.warn(err)
84                    return str
85                    }
86                
87            }
88            
89            var targets = new ElementQuery('.ag-var-bind');
90
91            targets.forEach(function(element){
92                element.innerHTML = MetaBind(element.innerHTML,element) 
93            })
94        }
95
96        document.addEventListener('DOMContentLoaded',function(event){
97            initMetaBind();
98        })

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.