Shortened load event code, fixed element hiding (Captcha was hidden even if it wasn't filled properly)
This commit is contained in:
parent
b700c7a503
commit
a1caf4519a
1 changed files with 8 additions and 17 deletions
|
@ -3,7 +3,7 @@
|
||||||
var that = this;
|
var that = this;
|
||||||
var inputCaptcha = document.getElementById("bee_captcha");
|
var inputCaptcha = document.getElementById("bee_captcha");
|
||||||
var divCaptcha = document.getElementById('serendipity_comment_beecaptcha');
|
var divCaptcha = document.getElementById('serendipity_comment_beecaptcha');
|
||||||
var method = (loadData.method == 'json') ? loadData.method : 'default';
|
var method = loadData.method == 'json' ? loadData.method : 'default';
|
||||||
var url = typeof loadData.url != 'undefined' ? loadData.url : null;
|
var url = typeof loadData.url != 'undefined' ? loadData.url : null;
|
||||||
var answer = typeof loadData.answer != 'undefined' ? loadData.answer : null;
|
var answer = typeof loadData.answer != 'undefined' ? loadData.answer : null;
|
||||||
|
|
||||||
|
@ -11,9 +11,7 @@
|
||||||
var handlerCalled = false;
|
var handlerCalled = false;
|
||||||
var eventHandler = function() {
|
var eventHandler = function() {
|
||||||
// Since we use multiple handlers, only run this function once
|
// Since we use multiple handlers, only run this function once
|
||||||
if (handlerCalled) {
|
if (handlerCalled) return;
|
||||||
return;
|
|
||||||
}
|
|
||||||
handlerCalled = true;
|
handlerCalled = true;
|
||||||
|
|
||||||
that.fillCaptcha();
|
that.fillCaptcha();
|
||||||
|
@ -33,18 +31,10 @@
|
||||||
window.attachEvent('load', eventHandler);
|
window.attachEvent('load', eventHandler);
|
||||||
} else {
|
} else {
|
||||||
// Very, very old browsers
|
// Very, very old browsers
|
||||||
if (typeof window.onload == 'function') {
|
var oldOnload = typeof window.onload == 'function' ? window.onload : null;
|
||||||
window.onload = function() {
|
window.onload = function() {
|
||||||
|
if (null !== oldOnload) oldOnload();
|
||||||
eventHandler();
|
eventHandler();
|
||||||
};
|
|
||||||
} else {
|
|
||||||
var oldonload = window.onload;
|
|
||||||
window.onload = function() {
|
|
||||||
if (oldonload) {
|
|
||||||
oldonload();
|
|
||||||
}
|
|
||||||
eventHandler();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -52,6 +42,7 @@
|
||||||
this.fillCaptcha = function() {
|
this.fillCaptcha = function() {
|
||||||
if ('default' == method && null !== answer) {
|
if ('default' == method && null !== answer) {
|
||||||
inputCaptcha.value = answer;
|
inputCaptcha.value = answer;
|
||||||
|
this.hideBeeElement();
|
||||||
return;
|
return;
|
||||||
} else if ('json' == method && null !== url) {
|
} else if ('json' == method && null !== url) {
|
||||||
fetchJsonData();
|
fetchJsonData();
|
||||||
|
@ -89,6 +80,7 @@
|
||||||
|
|
||||||
if (typeof answer != 'string' || 'ERROR' != answer.toUpperCase()) {
|
if (typeof answer != 'string' || 'ERROR' != answer.toUpperCase()) {
|
||||||
inputCaptcha.value = answer;
|
inputCaptcha.value = answer;
|
||||||
|
this.hideBeeElement();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -96,5 +88,4 @@
|
||||||
|
|
||||||
var spamBeeObj = new SpamBeeCaptcha(spamBeeData);
|
var spamBeeObj = new SpamBeeCaptcha(spamBeeData);
|
||||||
spamBeeObj.attachToLoadEvent();
|
spamBeeObj.attachToLoadEvent();
|
||||||
spamBeeObj.hideBeeElement();
|
|
||||||
})();
|
})();
|
Loading…
Reference in a new issue