window.location 在 Safari 上调用弹出空对话框

Posted

技术标签:

【中文标题】window.location 在 Safari 上调用弹出空对话框【英文标题】:window.location call popup up empty dialog on safari 【发布时间】:2011-02-10 18:33:14 【问题描述】:

在一个网页上,我试图将浏览器重定向到同一站点上的另一个页面。 代码非常简单:

window.location = "/path1/path2"

在 safari - windows 和 mac - 一个只包含文本的消息框

"http://domain.com"

出现了。

我尝试了不同的方法来指定它:location.href、windows.assign(...) ...并且它们都有相同的行为。

你们有没有看到这个?您对此有解决方案吗?

谢谢。

【问题讨论】:

【参考方案1】:

看看这个question。你应该使用:

location.href = 'url';

【讨论】:

这也不起作用:(我尝试了不同的方法,但都失败了 location="url" 或 location.href="url" 在我曾经尝试过的所有浏览器上都可以正常工作【参考方案2】:

感谢大家的帮助。

我发现了问题。在调用链中的某处设置 window.location 之前,一个函数会发出 ajax 请求。

似乎由于某些更改,请求现在比以前需要更长的时间。因此,如果在 ajax 请求期间更改了位置,则会出现空消息框。

咪咪。

【讨论】:

【参考方案3】:

您应该显示完整的代码。 例如这个错误的代码

<a href="javascript:window.open()">Click</a>

点击时会显示 [OBJECT]。

如果你的脚本只是

<script>
window.location='someurl';
</script>

然后还有其他事情发生 - 我刚刚在我的 Mac 上的 Safari 中测试了这个

<script>
window.location='http://www.google.com'
</script>

【讨论】:

以上是关于window.location 在 Safari 上调用弹出空对话框的主要内容,如果未能解决你的问题,请参考以下文章

移动 Safari:frame.src 与 window.location

Safari浏览器在window.location之后停止执行js

关于 Safari 浏览器不支持 location [ window.location.href window.open()] 跳转问题的解决方案

safari支付问题

如果在 iOS 9+ 上的 Safari 中手机上安装了应用程序,如何从 Javascript 检查?

如何在javascript中获取准确的原始域地址