Это действительно странная проблема, я пытаюсь использовать Recaptcha на одном из веб-сайтов и работает для всех проверенных браузеров, кроме IE6.IE6 не анализирует загруженный файл JavaScript (Recaptcha, размещенный Google)
Я сделал ссылку на JS в Google: http://www.google.com/recaptcha/api/challenge?k=the_key и он будет загружен в соответствии с Fiddler2 & «onreadystatechange» событиями (которые имеют readystate == «нагруженные»)
Нормальная работа поток должен загружаемый JS был разобран, и запрошено другое js, затем изображение загружено из google. моя проблема в том, что первый загруженный JS-файл (контент, аналогичный ниже):
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>');
не разобран. Во-первых, следующий JS тест:
typeof RecaptchaState == 'undefined'
Во-вторых, нет второго запроса нет сценария (по Fiddler2), не говоря уже о ReCaptcha изображение ...
Тег сценария помещается внутри тела, после ReCaptcha наценки, и я даже пытался загрузить JS динамически:
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);
}
, который дает такое же поведение ... что меня смущает больше всего: эта проблема возникает иногда только тогда, когда страница redirectly с другой страницы , (Открыть URL непосредственно в новом окне браузера или обновить страницу всегда работает отлично, однако обновить страницу с помощью JavaScript не работает ...)
Пожалуйста, помогите, любые советы и/или идеи будут оценены ...
Разве сама Microsoft не сказала, что IE6 - это устаревшая куча недостатков защиты от вирусов и магнитов, каждая используемая копия, вероятно, повредит Интернет, и всем серьезно нужно избавиться от их машин? Не в этих точных словах, конечно, но ... Я думаю, кто-то даже предположил, что ответственные интернет-провайдеры должны запрещать пользователям IE6 на основании безответственности и небрежности. – Steve314
Да, они сказали что-то вроде этого. Однако, как вы видите, некоторые трудолюбивые веб-разработчики все еще учитывают это. – foret
Если бы я мог жить без заботы об IE6, жизнь была бы намного лучше. Однако, пока клиент все еще использует его, я должен заставить его работать. Лидер рассматривает возможность использования сторонней библиотеки для создания самой вещи. :( – ccppjava