15.02.2013 Views

JavaScript Examples Bible - UserWorks Technologies

JavaScript Examples Bible - UserWorks Technologies

JavaScript Examples Bible - UserWorks Technologies

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

306<br />

<strong>JavaScript</strong> <strong>Examples</strong> <strong>Bible</strong>: The Essential Companion to <strong>JavaScript</strong> <strong>Bible</strong><br />

}<br />

Listing 19-11 (continued)<br />

}<br />

TextRange.findText()<br />

}<br />

rng.scrollIntoView()<br />

if (confirm(“Replace?”)) {<br />

rng.text = replString<br />

pushUndoNew(rng, srchString, replString)<br />

}<br />

rng.collapse(false)<br />

// unprompted search and replace with counter<br />

function sAndRCount(form) {<br />

var srchString = form.searchString.value<br />

var replString = form.replaceString.value<br />

var i<br />

if (srchString) {<br />

var args = getArgs(form)<br />

rng = document.body.createTextRange()<br />

rng.moveToElementText(rights)<br />

for (i = 0; rng.findText(srchString, 10000, args); i++) {<br />

rng.text = replString<br />

pushUndoNew(rng, srchString, replString)<br />

rng.collapse(false)<br />

}<br />

if (i > 1) {<br />

clearUndoBuffer()<br />

}<br />

}<br />

document.all.counter.innerText = i<br />

}<br />

// BEGIN UNDO BUFFER CODE<br />

// buffer global variables<br />

var newRanges = new Array()<br />

var origSearchString<br />

// store original search string and bookmarks of each replaced range<br />

function pushUndoNew(rng, srchString, replString) {<br />

origSearchString = srchString<br />

rng.moveStart(“character”, -replString.length)<br />

newRanges[newRanges.length] = rng.getBookmark()<br />

}<br />

// empty array and search string global<br />

function clearUndoBuffer() {<br />

document.all.counter.innerText = “0”<br />

origSearchString = “”<br />

newRanges.length = 0<br />

}

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!