本文介绍如何解决在showModalDialog中使用location跳转时意外弹出新窗口的问题。通过创建隐藏的a标签并模拟点击事件,配合base标签设置target为_self,可实现当前窗口跳转而不触发新窗口弹出。
showModalDialog内跳转问题与解决方案
检查代码后发现,跳转链接使用了location对象。然而,直接使用A标签生成的链接进行点击跳转时,并不会弹出新页面。
解决方法如下:
通过JavaScript脚本模拟点击A标签链接,替代直接使用location对象。具体实现方式如下:
代码实现如下:
function go_link(url) {
var link = document.createElement("a");
link.href = url;
document.body.appendChild(link);
link.click();
} 在原本调用location的地方,改为调用go_link方法。
同时需要配合使用 <base target="_self"/> 标签。