@@ -71,7 +71,8 @@ function buildLinkHints() {
7171 // highlight all the links on the page; we don't want some link hints to have more chars than others.
7272 var digitsNeeded = Math . ceil ( logXOfBase ( visibleElements . length , settings . linkHintCharacters . length ) ) ;
7373 var linkHintNumber = 0 ;
74- for ( var i = 0 ; i < visibleElements . length ; i ++ ) {
74+ var visiEleLength = visibleElements . length ;
75+ for ( var i = 0 ; i < visiEleLength ; i ++ ) {
7576 hintMarkers . push ( createMarkerFor ( visibleElements [ i ] , linkHintNumber , digitsNeeded ) ) ;
7677 linkHintNumber ++ ;
7778 }
@@ -81,7 +82,8 @@ function buildLinkHints() {
8182 // Also note that adding these nodes to document.body all at once is significantly faster than one-by-one.
8283 hintMarkerContainingDiv = document . createElement ( "div" ) ;
8384 hintMarkerContainingDiv . className = "internalVimiumHintMarker" ;
84- for ( var i = 0 ; i < hintMarkers . length ; i ++ )
85+ var hintMarkerLength = hintMarkers . length ;
86+ for ( var i = 0 ; i < hintMarkerLength ; i ++ )
8587 hintMarkerContainingDiv . appendChild ( hintMarkers [ i ] ) ;
8688 document . documentElement . appendChild ( hintMarkerContainingDiv ) ;
8789}
@@ -104,7 +106,8 @@ function getVisibleClickableElements() {
104106 var visibleElements = [ ] ;
105107
106108 // Find all visible clickable elements.
107- for ( var i = 0 ; i < resultSet . snapshotLength ; i ++ ) {
109+ var resultSetLength = resultSet . snapshotLength ;
110+ for ( var i = 0 ; i < resultSetLength ; i ++ ) {
108111 var element = resultSet . snapshotItem ( i ) ;
109112 var clientRect = element . getClientRects ( ) [ 0 ] ;
110113
@@ -114,7 +117,8 @@ function getVisibleClickableElements() {
114117 // If the link has zero dimensions, it may be wrapping visible
115118 // but floated elements. Check for this.
116119 if ( clientRect && ( clientRect . width == 0 || clientRect . height == 0 ) ) {
117- for ( var j = 0 ; j < element . children . length ; j ++ ) {
120+ var eleChildLength = element . children . length ;
121+ for ( var j = 0 ; j < eleChildLength ; j ++ ) {
118122 if ( window . getComputedStyle ( element . children [ j ] , null ) . getPropertyValue ( 'float' ) != 'none' ) {
119123 var childClientRect = element . children [ j ] . getClientRects ( ) [ 0 ] ;
120124 if ( isVisible ( element . children [ j ] , childClientRect ) ) {
@@ -243,12 +247,14 @@ function isSelectable(element) {
243247 */
244248function highlightLinkMatches ( searchString ) {
245249 var linksMatched = [ ] ;
246- for ( var i = 0 ; i < hintMarkers . length ; i ++ ) {
250+ var hintMarkersLength = hintMarkers . length ;
251+ for ( var i = 0 ; i < hintMarkersLength ; i ++ ) {
247252 var linkMarker = hintMarkers [ i ] ;
248253 if ( linkMarker . getAttribute ( "hintString" ) . indexOf ( searchString ) == 0 ) {
249254 if ( linkMarker . style . display == "none" )
250255 linkMarker . style . display = "" ;
251- for ( var j = 0 ; j < linkMarker . childNodes . length ; j ++ )
256+ var linkChildLength = linkMarker . childNodes . length ;
257+ for ( var j = 0 ; j < linkChildLength ; j ++ )
252258 linkMarker . childNodes [ j ] . className = ( j >= searchString . length ) ? "" : "matchingCharacter" ;
253259 linksMatched . push ( linkMarker . clickableItem ) ;
254260 } else {
@@ -275,7 +281,8 @@ function numberToHintString(number, numHintDigits) {
275281
276282 // Pad the hint string we're returning so that it matches numHintDigits.
277283 var hintStringLength = hintString . length ;
278- for ( var i = 0 ; i < numHintDigits - hintStringLength ; i ++ )
284+ var numDigitsHintLength = numHintDigits - hintStringLength ;
285+ for ( var i = 0 ; i < numDigitsHintLength ; i ++ )
279286 hintString . unshift ( settings . linkHintCharacters [ 0 ] ) ;
280287 return hintString . join ( "" ) ;
281288}
@@ -319,7 +326,8 @@ function createMarkerFor(link, linkHintNumber, linkHintDigits) {
319326 marker . className = "internalVimiumHintMarker vimiumHintMarker" ;
320327 var innerHTML = [ ] ;
321328 // Make each hint character a span, so that we can highlight the typed characters as you type them.
322- for ( var i = 0 ; i < hintString . length ; i ++ )
329+ var hintStringLength = hintString . length ;
330+ for ( var i = 0 ; i < hintStringLength ; i ++ )
323331 innerHTML . push ( "<span>" + hintString [ i ] . toUpperCase ( ) + "</span>" ) ;
324332 marker . innerHTML = innerHTML . join ( "" ) ;
325333 marker . setAttribute ( "hintString" , hintString ) ;
0 commit comments