gpt4 book ai didi

javascript - window.open 将当前窗口发送到 0

转载 作者:行者123 更新时间:2023-12-02 18:30:49 24 4
gpt4 key购买 nike

在一个页面(我们将其称为:domain.com/subdirectory/page.html)上,我有一个如下链接: <a href="javascript:window.open('someurl','_blank');">Link</a>

新窗口完美打开,但问题是,先前存在的窗口被重定向到 {domain.com}/{subdirectory}/0 并且我不明白为什么它要添加0 到子目录并尝试去那里。

我尝试将 window.open 移动到 onclick 并将 href 设置为“void(0)”,甚至将其更改为带有 onclick 的跨度,但无论我尝试哪个选项,我都会得到相同的结果。我想要的只是弹出新窗口,并且您已经所在的页面没有任何反应。

同样的事情也会发生在 IE9 和 Chrome 中。

我使用 window.open 而不是 target="_blank"的原因是因为我还想从该窗口中删除菜单和其他内容以节省空间。

发现答案
当我总结问题时,我过于简化了代码,以至于无法让任何人回答(当然不是故意的)。我对此表示歉意。

这是实际的 window.open 命令(减去 URL):window.open('[hidden url]'_blank',height='400px',width='450px',location=0,menubar=0,resizable=0,status=0,titlebar=0,toolbar=0);

问题是“location=0”。当我阅读有关 window.open 的教程时,它说如果我不想显示 URL,请将其设置为 0。就我个人而言,我并不关心,但我认为,用于信息显示的空间越多越好。事实证明,“location”是一个 URL,而不是一个 bool 属性。

一旦我删除了“location=0”,它就开始按预期/期望运行。

感谢您尝试提供帮助。

最佳答案

使用 onclick 并从事件处理程序返回 false:

<a href="#" onclick="window.open('someurl','_blank'); return false;">Link</a>

我还建议将 Javascript 与 HTML 分开。如果您只有一个链接,您可以执行以下操作:

<a id="linkid" href="someurl" target="_blank">Link</a>

然后在你关闭之前的某个地方</body>标签和链接标签之后:

<script>
document.getElementById('linkid').onclick = function(){
window.open('someurl','_blank');
return false;
}
</script>

关于javascript - window.open 将当前窗口发送到 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17818461/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com