У меня есть простой редирект в моем скрипте jQuery. Вы нажимаете на ссылку, она выполняет асинхронное сохранение, а затем отправляет пользователя на следующую страницу через window.location.href. Это прекрасно работает во всех браузерах, за исключением проблемы с IE (неожиданный сюрприз). На одной странице в IE я получаю следующую ошибку при попытке запустить скрипт
E.location.protocol is null or not an object
Странно то, что скрипт работает на других страницах. Единственное, что я вижу по-другому, это то, что страница, на которой она разбита, содержит карту Google, а другие нет.
Кроме того, кажется, что это проблема только в более поздних версиях jQuery (1.4+), но я должен использовать это для других функций.
Есть предложения? Спасибо.
Сценарий сохранения, перенаправления (который получает свое местоположение из атрибута 'goto' в теге привязки на странице):
$("#save_and_go_button").click(function(){
showAction('Saving...');
$.ajax({
type: "POST",
url: "/admin_and_tools/async/save.php",
data: $("#main_form").serialize(),
dataType: "html",
success: function(results){
if(results == 'success'){
hideAction();
//alert('The record has been saved.');
document.location.href = $("#save_and_go_button").attr('goto');
}else{
alert('failed' + results);
}
}
});
});
РЕДАКТИРОВАТЬ: Вот строка, которую он делает в коде jQuery:
if(E.location.protocol!=="file:")
try{return new E.XMLHttpRequest}catch(a){}try{
return new E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};