Errata
Submit your own errata for this product.
The errata list is a list of errors and their corrections that were found after the product was released.
The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.
Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question
| Version |
Location |
Description |
Submitted By |
| Printed |
Page 22
3rd Paragraph |
The 3rd sentence reads: "To access a particular item, you need to call
snapshotResults.snapshotItem(index)."
I think (consistent with the preceding sentence and the following example), the
sentence should read: "To access a particular item, you need to call
snapResults.snapshotItem(index)."
|
Anonymous |
| Printed |
Page 23
first code example |
The end of the first line reads:
'MZZZZZZZ')",
lacking a necessary closing square bracket. The code in the script it's taken from, Hack #25, instead reads:
'MZZZZZZZ')]",
|
Anonymous |
| Printed |
Page 339
getLogin() function |
The format of bugmenot.com has changed, so the getLogin() function of the bugmenot
script needs changing. The following now works:
function getLogin(uri, usernameInputIndex, passwordInputIndex) {
var usernameField = allInputs[usernameInputIndex];
var pwField = allInputs[passwordInputIndex];
waitOrRestoreFields(usernameField, pwField, false);
var hostUri = location.hostname;
GM_xmlhttpRequest({
method: "get",
headers: null,
data: null,
url: uri,
onload: function(responseDetails) {
waitOrRestoreFields(usernameField, pwField, true);
var doc = textToXml(responseDetails.responseText);
if (!(doc && doc.documentElement)) {
return Errors.say(Errors.malformedResponse);
}
var accountInfo = doc.documentElement.
getElementsByTagName("td");
if (!(accountInfo && accountInfo.length >= 2)) {
return Errors.say(Errors.noLoginAvailable);
}
var userIndex = retrievals == 0 ? 0 : retrievals * 4;
var passIndex = retrievals == 0 ? 1 : retrievals * 5;
if(userIndex > accountInfo.length
|| passIndex > accountInfo.length) { // no more
userIndex = 0; passIndex = 1;
}
usernameField.value = accountInfo[userIndex].firstChild.nodeValue;
pwField.value = accountInfo[userIndex].firstChild.nodeValue;
retrievals++;
},
onerror: function(responseDetails) {
waitOrRestoreFields(usernameField, pwField, true);
Errors.say(Errors.xmlHttpFailure);
}
});
}
|
Anonymous |