Javascript窗口重定向在chrome中不起作用((取消)-状态)

javascript window redirect doesn't work in chrome ((canceled) - status )

本文关键字:取消 状态 不起作用 窗口 重定向 chrome Javascript      更新时间:2023-09-26

我正在尝试使用下面的代码做一个重定向:

<script  type="text/javascript">
window.location.href = "http://google.com"
</script>

FF和IE正常工作。Chrome没有。

上面对http://google.com的请求,在Chrome浏览器>开发工具>"网络"中获得"取消"状态。

我试过其他几个函数:

location.href = url
location.replace(url)
document.location = url
location.assign(url)
window.open(url, '_self')

将相同的代码粘贴到本地html文件中即可。

下面是重定向请求,它被chrome取消:http://pastebin.com/hD36M1RG

什么线索吗?由于

我得到了一个类似的问题,问题是一个按钮提交表单,同时执行window.location.href = ...代码。

我必须把type="button"放在按钮属性中,以防止它提交。

尝试没有window.,它在我的情况下有所帮助。我用location.assign()代替window.location.assign(),并工作。

我也在做同样的事情。一个快速的补丁是在重定向之前使用setTimeout添加一点延迟。

我也遇到过类似的问题(但它在Firefox上也不起作用)。问题是我忘记在:

中添加http://
window.location.href = `http://${ window.location.host }/pages/${ name }/`

使用setTimeout为我工作,我正面临着vue-router的这个问题,试图重定向到'beforeEach'钩子中的认证页面。

我在这里遇到了一个关于value的问题。使用vue。nextTick (function()())解决了

Vue.nextTick(function () {
   window.location.href="/***/****_view.action
})

似乎Chrome想要在重定向或重新加载页面之前先完成一些(或全部)未完成的AJAX调用,因此值得检查您的流量。

对我来说,发生这种情况是因为多个AJAX请求同时从一个setInterval函数内以高速率执行。为了使window.location.href请求不被取消,我必须执行clearInterval

这就解释了为什么setTimeout对上面的一些人有效。