今天,我在 IE11 中注意到了这个问题。
一个简单的 JavaScript 重定向(通过location.href = 'newhost...';
)会导致浏览器崩溃。
有谁知道如何解决这个问题?
如果它有助于使用此方法在 wordpress 上使用 ContactForm7 发生这种情况:http: //contactform7.com/redirecting-to-another-url-after-submissions/
今天,我在 IE11 中注意到了这个问题。
一个简单的 JavaScript 重定向(通过location.href = 'newhost...';
)会导致浏览器崩溃。
有谁知道如何解决这个问题?
如果它有助于使用此方法在 wordpress 上使用 ContactForm7 发生这种情况:http: //contactform7.com/redirecting-to-another-url-after-submissions/
在这里的 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。
Internet Explorer 并不总是与 javascript 配合使用location.href
或window.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'
。
如果从事件重定向时即使在 IE 11 中使用 Assign 仍然出现此错误,您可以使用:
setTimeout(function ()
{
window.location.assign("newhost...");
}, 100);
解决问题