单击一个按钮,要根据ajax返回的结果来判断跳转和其他状态

$(".ajax").on("click", function() {
       // var newTab=window.open('about:blank');

        var index = $(this).data("index");
        $.post("/ajax/operation/openredenvelopetask", {
            taskid: index
        }, function(data) {
            if(data.errno === 0){
                if(index===1){
                    // 跳任务1
                   //window.open('http://cp01-baike-epc017.epc.baidu.com:8900/task/201131');
                   //newTab.location.href="http://cp01-baike-epc017.epc.baidu.com:8900/task/201131";
                   //window.location.href = '/task/201131'
                   $('#t_form'+index).submit();
                }else if(index===2){
                    // 跳任务2
                   //window.open('http://cp01-baike-epc017.epc.baidu.com:8900/task/201508');
                   //newTab.location.href="http://cp01-baike-epc017.epc.baidu.com:8900/task/201508";
                   //window.location.href="http://cp01-baike-epc017.epc.baidu.com:8900/task/201508";
                   $('#t_form'+index).submit();
                   $('.btn'+index).removeClass('btn-edit').addClass('btn-go').text('继续做');
                }
            } else if (data.errno === 1) {
                $('.btn'+index).removeClass('btn-edit').removeClass('btn-go').addClass('btn-end').text('今日已达上限');
                //newTab.close();
                //return false;
            } else if (data.errno === 2) {
                userLogin.showLoginPop();
                //return false;
            }
        }, "json");
    });

1.直接在js中调用window.open()函数去打开一个新窗口,浏览器会拦截你,通过 下面的方法来避免

就是先用window.open打开一个窗口,然后修改地址。如var tempwindow=window.open('_blank');打开一个窗口,然后用 tempwindow.location='http://www.baidu.com';使这个窗口跳转到百度,这样就会呈现弹出百度窗口的效果了。

$("#last").click(function(){
var w=window.open();
setTimeout(function(){
w.location="http://www.baidu.com";
}, 1000);

return false;
}); 
/////

但是在需要关闭时却出现一闪的现象,

2. window.location.href = ‘xxxx’,但是不会打开新窗口

3.form的submit();来实现

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css">
            *{margin: 0;padding: 0;}
            #j_form{position: absolute;left: -999em;}
        </style>
    </head>
    <body>
        <form id="j_form" action="http://www.baidu.com" target="_blank" method="post"></form>
        <button id="j_btn">click me</button>
        <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            $('#j_btn').on('click',function(){
                $('#j_form').submit();
            });
        </script>
    </body>
</html>

4.jquery的trigger()方法,模拟触发,但是a标签中的href用js不能控制,但是可以利用trigger()冒泡特性, <a href="http://baike.baidu.com/task/200414" target="_blank" class="btn"><span class="jump1"></span></a> 

$('#jump1').trigger('click');

posted @ 2016-01-14 19:27  张鑫鑫是好人  阅读(778)  评论(0编辑  收藏  举报