1/* 2 This javascript is used by the no-right-click-images plugin for wordpress. 3 Version 2.2 4 Please give credit as no-right-click-images.js by Keith P. Graham 5 http://www.blogseye.com 6 */ 7 8var IwNRCtargImg = null; 9var IwNRCtargSrc = null; 10var IwNRCinContext = false; 11var IwNRCnotimage = new Image(); 12var IwNRClimit = 0; 13var IwNRCextra = IwNRCargs.rightclick; 14var IwNRCdrag = IwNRCargs.draganddrop; 15 16function IwNRCdragdropAll( event ) { 17 try { 18 var ev = event || window.event; 19 var targ = ev.srcElement || ev.target; 20 if ( targ.tagName.toUpperCase() == "A" ) { 21 // is this IE and are we dragging a link to the image? 22 var hr = targ.href; 23 hr = hr.toUpperCase(); 24 if ( hr.indexOf( '.JPG' ) || hr.indexOf( '.PNG' ) || hr.indexOf( '.GIF' ) ) { 25 ev.returnValue = false; 26 if ( ev.preventDefault ) { 27 ev.preventDefault(); 28 } 29 IwNRCinContext = false; 30 return false; 31 } 32 } 33 if ( targ.tagName.toUpperCase() != "IMG" ) 34 return true; 35 ev.returnValue = false; 36 if ( ev.preventDefault ) { 37 ev.preventDefault(); 38 } 39 IwNRCinContext = false; 40 return false; 41 } catch ( er ) { 42 // alert(er); 43 } 44 return true; 45} 46 47function IwNRCdragdrop( event ) { 48 // I am beginning to doubt if this event ever fires 49 try { 50 var ev = event || window.event; 51 var targ = ev.srcElement || ev.target; 52 ev.returnValue = false; 53 if ( ev.preventDefault ) { 54 ev.preventDefault(); 55 } 56 ev.returnValue = false; 57 IwNRCinContext = false; 58 return false; 59 } catch ( er ) { 60 // alert(er); 61 } 62 return true; 63} 64 65function IwNRCcontext( event ) { 66 try { 67 IwNRCinContext = true; 68 var ev = event || window.event; 69 var targ = ev.srcElement || ev.target; 70 IwNRCreplace( targ ); 71 ev.returnValue = false; 72 if ( ev.preventDefault ) { 73 ev.preventDefault(); 74 } 75 ev.returnValue = false; 76 IwNRCtargImg = targ; 77 } catch ( er ) { 78 // alert(er); 79 } 80 return false; 81} 82 83function IwNRCcontextAll( event ) { 84 try { 85 if ( IwNRCtargImg == null ) { 86 return true; 87 } 88 IwNRCinContext = true; 89 var ev = event || window.event; 90 var targ = ev.srcElement || ev.target; 91 if ( targ.tagName.toUpperCase() == "IMG" ) { 92 ev.returnValue = false; 93 if ( ev.preventDefault ) { 94 ev.preventDefault(); 95 } 96 ev.returnValue = false; 97 IwNRCreplace( targ ); 98 return false; 99 } 100 return true; 101 } catch ( er ) { 102 // alert(er); 103 } 104 return false; 105} 106 107function IwNRCmousedown( event ) { 108 try { 109 IwNRCinContext = false; 110 var ev = event || window.event; 111 var targ = ev.srcElement || ev.target; 112 if ( ev.button == 2 ) { 113 IwNRCreplace( targ ); 114 return false; 115 } 116 IwNRCtargImg = targ; 117 if ( IwNRCdrag == 'Y' ) { 118 if ( ev.preventDefault ) { 119 ev.preventDefault(); 120 } 121 } 122 return true; 123 } catch ( er ) { 124 // alert(er); 125 } 126 return true; 127} 128 129function IwNRCmousedownAll( event ) { 130 try { 131 IwNRCinContext = false; 132 var ev = event || window.event; 133 var targ = ev.srcElement || ev.target; 134 if ( targ.style.backgroundImage != '' && ev.button == 2 ) { 135 targ.oncontextmenu = function ( event ) { 136 return false; 137 } // iffy - might not work 138 } 139 if ( targ.tagName.toUpperCase() == "IMG" ) { 140 if ( ev.button == 2 ) { 141 IwNRCreplace( targ ); 142 return false; 143 } 144 if ( IwNRCdrag == 'Y' ) { 145 if ( ev.preventDefault ) { 146 ev.preventDefault(); 147 } 148 } 149 IwNRCtargImg = targ; 150 } 151 return true; 152 } catch ( er ) { 153 // alert(er); 154 } 155 return true; 156} 157 158function IwNRCreplace( targ ) { 159 return false; 160 if ( IwNRCtargImg != null && IwNRCtargImg.src == IwNRCnotimage.src ) { 161 // restore the old image before hiding this one 162 IwNRCtargImg.src = IwNRCtargSrc; 163 IwNRCtargImg = null; 164 IwNRCtargSrc = null; 165 } 166 IwNRCtargImg = targ; 167 if ( IwNRCextra != 'Y' ) 168 return; 169 var w = targ.width + ''; 170 var h = targ.height + ''; 171 if ( w.indexOf( 'px' ) <= 0 ) 172 w = w + 'px'; 173 if ( h.indexOf( 'px' ) <= 0 ) 174 h = h + 'px'; 175 IwNRCtargSrc = targ.src; 176 targ.src = IwNRCnotimage.src; 177 targ.style.width = w; 178 targ.style.height = h; 179 IwNRClimit = 0; 180 var t = setTimeout( "IwNRCrestore()", 500 ); 181 return false; 182} 183 184function IwNRCrestore() { 185 if ( IwNRCinContext ) { 186 if ( IwNRClimit <= 20 ) { 187 IwNRClimit++; 188 var t = setTimeout( "IwNRCrestore()", 500 ); 189 return; 190 } 191 } 192 IwNRClimit = 0; 193 if ( IwNRCtargImg == null ) 194 return; 195 if ( IwNRCtargSrc == null ) 196 return; 197 IwNRCtargImg.src = IwNRCtargSrc; 198 IwNRCtargImg = null; 199 IwNRCtargSrc = null; 200 return; 201} 202 203// set the image onclick event 204// need to check for dblclick to see if there is a right double click in IE 205function IwNRCaction( event ) { 206 try { 207 document.onmousedown = function ( event ) { 208 return IwNRCmousedownAll( event ); 209 } 210 document.oncontextmenu = function ( event ) { 211 return IwNRCcontextAll( event ); 212 } 213 document.oncopy = function ( event ) { 214 return IwNRCcontextAll( event ); 215 } 216 if ( IwNRCdrag == 'Y' ) 217 document.ondragstart = function ( event ) { 218 return IwNRCdragdropAll( event ); 219 } 220 var b = document.getElementsByTagName( "IMG" ); 221 for ( var i = 0; i < b.length; i++ ) { 222 b[i].oncontextmenu = function ( event ) { 223 return IwNRCcontext( event ); 224 } 225 b[i].oncopy = function ( event ) { 226 return IwNRCcontext( event ); 227 } 228 b[i].onmousedown = function ( event ) { 229 return IwNRCmousedown( event ); 230 } 231 if ( IwNRCdrag == 'Y' ) 232 b[i].ondragstart = function ( event ) { 233 return IwNRCdragdrop( event ); 234 } 235 } 236 } catch ( er ) { 237 return false;
238 } 239} 240 241if ( document.addEventListener ) { 242 document.addEventListener( "DOMContentLoaded", function ( event ) { 243 IwNRCaction( event ); 244 }, false ); 245} else if ( window.attachEvent ) { 246 window.attachEvent( "onload", function ( event ) { 247 IwNRCaction( event ); 248 } ); 249} else { 250 var oldFunc = window.onload; 251 window.onload = function () { 252 if ( oldFunc ) { 253 oldFunc(); 254 } 255 IwNRCaction( 'load' ); 256 }; 257}
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.