vue使用encodeuricompoent跳转外部链接
时间: 2024-09-25 15:13:08 浏览: 43
在Vue应用中,当你需要通过`this.$router.push()`或者`this.$route.replace()`这样的导航函数跳转到外部链接时,通常会使用`window.location.href`而不是直接设置URL。为了防止特殊字符被浏览器解析成HTML实体,这时可以使用`encodeURIComponent()`函数对链接地址进行编码。
例如,假设你有一个外部链接地址 `https://example.com/search?q=vue%20%E4%B8%AD%E6%96%87`(这里包含了一个空格),你可以这样操作:
```javascript
const encodedLink = encodeURIComponent('https://example.com/search?q=vue 中文');
this.$router.push(`http://external-site.com?target=${encodedLink}`);
```
在这个例子中,`encodeURIComponent('vue 中文')` 将把 "vue" 和 "中文" 转换成 URL 安全的格式。然后你可以把这个编码后的链接添加到目标路由参数中。
如果你想要立即跳转,而不改变当前页面,可以使用 `window.location.href`:
```javascript
window.location.href = 'http://external-site.com?target=' + encodeURIComponent('https://example.com/search?q=vue 中文');
```
阅读全文