nl_tokens: Identical to the native getBoundingClientRect function but ensures that the method is supported at all ( it is in all browsers we claim to support ) and that the element is in the DOM before continuing .
pl_tokens: function getBoundingClientRect ( el ) { if ( el && el . getBoundingClientRect && el . parentNode ) { var rect = el . getBoundingClientRect ( ) ; var result = { } ; [ 'bottom' , 'height' , 'left' , 'right' , 'top' , 'width' ] . forEach ( function ( k ) { if ( rect [ k ] !== undefined ) { result [ k ] = rect [ k ] ; } } ) ; if ( ! result . height ) { result . height = parseFloat ( computedStyle ( <mask> , 'height' ) ) ; } if ( ! result . width ) { result . width = parseFloat ( computedStyle ( el , 'width' ) ) ; } return result ; } }