1window.addEventListener( 'DOMContentLoaded', () => { 2 malRegisterClickHandler(); 3} ); 4 5function malRegisterClickHandler () { 6 const malTextElements = document.querySelectorAll( '[data-mal] .mal-text' ); 7 const malButtonElements = document.querySelectorAll( '[data-mal] .mal-button' ); 8 const malElements = document.querySelectorAll( 'mal' ); 9 10 function malClickHandler ( element ) { 11 const malLink = element.getAttribute( 'data-mal-link' ); 12 const malParameter = element.getAttribute( 'data-mal-parameter' ); 13 14 // const target = malData.links.find( data => data.id === malLink && data.parameterId === malParameter ); 15 const target = malData.links.find( data => data.id === malLink ); 16 if ( target ) { 17 // window.open( `${target.url}?${target.parameter}`, '_blank', 'noopener,noreferrer' ); 18 window.open( `${target.url}`, '_blank', 'noopener,noreferrer' ); 19 } 20 } 21 22 malTextElements.forEach( element => { 23 element.addEventListener( 'click', () => { 24 malClickHandler( element ); 25 } ); 26 } ); 27 28 malButtonElements.forEach( element => { 29 element.addEventListener( 'click', () => { 30 malClickHandler( element ); 31 } ); 32 } ); 33 34 malElements.forEach( element => { 35 element.addEventListener( 'click', () => { 36 malClickHandler( element ); 37 } ); 38 } ); 39}
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.