vue 拦截 v-html 中 a 标签 href 跳转

记录
template 中 给需要 拦截的 代码片段加上click 方法 @click=“targetNodeNameClick”

 <p class="message-content message-content-text" v-html="replaceURLWithHTMLLinks(getText(message))"  @click="targetNodeNameClick">p>

然后方法的代码:如有参考,有业务代码自行理解。

// 拦截 v-html 中 a 标签 href 跳转
targetNodeNameClick(event) {
  if (event.target.nodeName == "A") {
    event.preventDefault();
    // 使用浏览器打开
    let url = event.target.getAttribute('href')
    if (url) {
      if (url && url.substring(0, 1) === '/') {
        url = `${process.env.VUE_APP_BASE_URL}${url}`
      }
      this.$ipcInvoke(ipcApiRoute.openDefaultBrowser, url)
    }
    return false
  }
},

你可能感兴趣的:(html,前端,javascript)