异步跳转

在跳转到一个新的tab页(打开新窗口之前),需要进行权限校验,数据追加等ajax异步获取数据操作。

显然a href target=_blank是同步操作,点击即跳转。
需要点击按钮、进行ajax拿到后、跳转新窗口。
做法如下:

  1. window.open【会被拦截】
  2. 点击按钮先跳转到临时tab页面(执行a href target=_blank),在临时tab页中进行ajax数据操作。【多了不必要的跳转操作】
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<a onClick={this.onAppClick}>进入应用</a>

onAppClick = () => {
onTokenCheck().then((token) => {
const urlStr = `${urlFormat}?token=${token}`;
this.openWin(urlStr);
});
}

openWin= (url) => {
$('body').append($(`<a href=${url} target="_blank" id="openWin"></a>`));
document.getElementById('openWin').click();
$('#openWin').remove();
};
-------------Keep It Simple Stupid-------------
0%