今天希望做一个效果,即触发某个事件(不一定是点击事件)的同时,打开一个页面。
1. 开始以为很简单:
2. 后来发现当在window.open被ajax包裹时,被打开的页面会被部分浏览器拦截,如:
3. 想到通过触发某个a标签来实现。
html代码:
js代码:
4. 引出了新的问题,a标签没有被点开,几番查找后,修改html和js代码。
html代码:
js代码:
5. 根据以上代码,a标签是被打开了,可是页面还是被浏览器拦截,于是结合2和4。
html代码:
js代码:
竟然好用了……,浏览器为什么允许这种行为,倒是个新的问题。
话说今天表现的像个菜鸟一样,不过想想,我的确就是个菜鸟,于是风高云淡了。
1. 开始以为很简单:
window.open('http://www.xxxx.com');
2. 后来发现当在window.open被ajax包裹时,被打开的页面会被部分浏览器拦截,如:
$.post(url, data).then(function(data){
window.open('http://www.xxxx.com');
});
3. 想到通过触发某个a标签来实现。
html代码:
<a id="id_link" href="http://www.xxxx.com"></a>
js代码:
$.post(url, data).then(function(data){
$('#id_link').trigger('click');
});
4. 引出了新的问题,a标签没有被点开,几番查找后,修改html和js代码。
html代码:
<a id="id_link" href="http://www.xxxx.com"><span id="id_span"></span></a>
js代码:
$.post(url, data).then(function(data){
$('#id_span').trigger('click');
});
5. 根据以上代码,a标签是被打开了,可是页面还是被浏览器拦截,于是结合2和4。
html代码:
<a id="id_link" href="###"><span id="id_span"></span></a>
js代码:
$('#id_link').click(function(){
window.open('http://www.xxxx.com');
})
$.post(url, data).then(function(data){
$('#id_span').trigger('click');
});
竟然好用了……,浏览器为什么允许这种行为,倒是个新的问题。
话说今天表现的像个菜鸟一样,不过想想,我的确就是个菜鸟,于是风高云淡了。