vue-router跳转路由打开新窗口的方式(3-4版本都适用)

文章介绍了在Vue应用中使用`$router.resolve`结合`window.open`或`router-link`标签实现新窗口打开页面的方法,并讨论了当这些页面被嵌入到iframe中时,如何处理丢失iframe外壳的问题,提到了需要使用`window.parent.open`并关注同源策略的限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一种

      const routeUrl = this.$router.resolve({
        path: "/targetUrl",
        query: { id: 96 },
      });
      window.open(routeUrl.href, "_blank");
    },

或者

const xj = () => {
  const c = router.resolve({
    path: "/login",
  });
  window.open(c.href, "_blank");
};

第二种

<router-link target="_blank" :to="{ path: '/catalog', query: { id: '1' } }">打开新的标签页</router-link>

如果通过iframe嵌入到其他系统中,这样打开新窗口,会丢掉iframe的壳子,出现有问题
需改为window.parent.open(routeUrl.href, “_blank”);
注意同源问题,需要解决

看这个作者的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萧寂173

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值