解决JavaScript showModalDialog内页面跳转问题

作者:小括号

时间:2026-10-25

浏览:181

本文介绍如何解决在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"/> 标签。



实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章