Ceci est un problème vraiment étrange, j'essaie d'utiliser le Recaptcha sur l'un des site, et il fonctionne pour tous les navigateurs testés sauf pour IE6.IE6 ne pas analyser le fichier JavaScript chargé (Recaptcha hébergé par Google)
J'ai fait une référence aux js de Google: http://www.google.com/recaptcha/api/challenge?k=the_key et il est chargé selon Fiddler2 & l'événement « onreadystatechange » (qui ont une readystate == « chargés »)
Le flux de travail normal devrait être le JS chargé a été analysé, et un autre a été demandé, puis l'image chargée à partir de google. mon problème est que le premier fichier JS chargé (contenu similaire à ci-dessous):
var RecaptchaState = {
site : 'xxxxxxxxxxxx',
challenge : 'xxxxxxxxxxxxxxxxxxxxxxxxx',
is_incorrect : false,
programming_error : '',
error_message : '',
server : 'http://www.google.com/recaptcha/api/',
timeout : 18000
};
document.write('<scr'+'ipt type="text/javascript" s'+'rc="' + RecaptchaState.server + 'js/recaptcha.js"></scr'+'ipt>');
ne sont pas analysées. Tout d'abord, le test JS suivant:
typeof RecaptchaState == 'undefined'
En second lieu, il n'y a pas de deuxième demande de script (selon Fiddler2), pour ne pas dire l'image recaptcha ...
La balise script est placé à l'intérieur du corps, après Markups de ReCaptcha, et je l'ai même essayé de charger le JS dynamique:
function GetJavaScript(url, callback) {
var script = document.createElement('script');
script.src = url;
var head = document.getElementsByTagName('head')[0];
var done = false;
// Attach handlers for all browsers
script.onload = script.onreadystatechange = function() {
if (!done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete')) {
done = true;
callback();
// remove the hanlder
script.onload = script.onreadystatechange = null;
head.removeChild(script);
}
};
head.appendChild(script);
}
qui donne même comportement ... ce qui me confond plus est: ce problème se produit de temps en temps que lorsque la page est redirectly d'une autre page . (Ouvrir directement l'URL dans une nouvelle fenêtre du navigateur ou rafraîchir la page fonctionne toujours bien, mais rafraîchir la page en utilisant JavaScript ne fonctionne pas ...)
S'il vous plaît aider, des conseils et/ou une idée serait appréciée ...
Microsoft ne disait-il pas déjà que IE6 est un tas obsolète de failles de sécurité de virus-aimant, chaque copie utilisée endommage probablement Internet, et tout le monde a sérieusement besoin de l'enlever de leurs machines? Pas dans ces mots précis, bien sûr, mais ... Je pense que quelqu'un a même suggéré que les FSI responsables interdisent les utilisateurs d'IE6 pour des raisons d'irresponsabilité et de neglegence. – Steve314
Oui, ils ont dit quelque chose comme ça. Cependant, comme vous le voyez, certains développeurs web qui travaillent dur le prennent en compte. – foret
Si je pouvais vivre sans se soucier de IE6, la vie serait beaucoup mieux. Cependant, tant que le client l'utilise toujours, je dois le faire fonctionner. Leader envisage d'utiliser une bibliothèque tierce pour générer la chose captcha. :( – ccppjava