У меня недостаточно очков, чтобы прокомментировать ответ Эвана, чтобы предложить исправление, поэтому все, что я могу сделать, это опубликовать исправление здесь.Короче говоря, в document.createElement(a)
отсутствуют кавычки, и вместо этого должно быть document.createElement("a")
.Это должно устранить беспокойство Кевина о FF5.
Вся функция, как я ее написал:
function goTo(url)
{
var a = document.createElement("a");
if (a.click)
{
// HTML5 browsers and IE support click() on <a>, early FF does not.
a.setAttribute("href", url);
a.style.display = "none";
document.body.appendChild(a);
a.click();
} else {
// Early FF can, however, use this usual method
// where IE cannot with secure links.
window.location = url;
}
}
Это работает в нашей среде HTTPS с IE7, IE8, FF3, FF7 и Chrome,Так что я думаю, что это работает и в FF5.Без этого обходного пути мы получаем 403 ошибки в IE7 и IE8 при попытке установить window.location.Что касается вопроса Ша Ле о том, почему IE делает это, я могу только догадываться, что они считают его слишком ненадежным.У меня была похожая проблема с window.open в IE, с которой мне также пришлось обходиться.