1

今天,我在 IE11 中注意到了这个问题。

一个简单的 JavaScript 重定向(通过location.href = 'newhost...';)会导致浏览器崩溃。

有谁知道如何解决这个问题?

如果它有助于使用此方法在 wordpress 上使用 ContactForm7 发生这种情况:http: //contactform7.com/redirecting-to-another-url-after-submissions/

4

3 回答 3

0

在这里的 WordPress 论坛帖子中有解决此问题的方法:https ://wordpress.org/support/topic/redirection-crashes-ie-11-perfect-for-all-others

库克罗斯 说:

我找到了一个解决方案,它是一个丑陋的解决方案,但它确实解决了我的问题。

on_sent_ok:
"$("#post-440").empty();window.location.replace('https://www.url.com.au/thank-you/');"

其中 post-440 是围绕表单的 div 的 ID。简而言之,您的帖子使我相信 IE 在进行重定向之前以某种方式再次传递了该表单,这使用 jQuery 在进行重定向之前清除整个页面的内容(包括表单)。

这是一种解决 IE 问题的黑客方法,但到目前为止,它适用于我的所有浏览器,包括 IE11。

于 2014-09-23T17:25:44.263 回答
0

Internet Explorer 并不总是与 javascript 配合使用location.hrefwindow.location.href在 javascript 中运行良好。即更是如此的href功能......

尝试使用:

window.location.assign("newhost.."); // or
window.location = "newhost..";


window.location:这里
有更详细的描述。Window.location 只读属性返回一个 对象,其中包含有关文档当前位置的信息。

Location

虽然Window.location它是一个只读的 Location 对象,但您也可以为其分配一个DOMString。这意味着 document.location在大多数情况下,您可以将其视为字符串: window.location = 'http://www.example.com'是 . 的同义词 window.location.href = 'http://www.example.com'

于 2013-12-05T22:21:56.063 回答
0

如果从事件重定向时即使在 IE 11 中使用 Assign 仍然出现此错误,您可以使用:

setTimeout(function ()
{
   window.location.assign("newhost...");
}, 100);

解决问题

于 2016-07-26T12:02:39.737 回答