JS打开url的几种方法

在新标签页中get方式打开url

window.open(loginurl_withaccout, "_blank");

下图中根据后台返回的url以及用户名密码字段,以及用户名密码动态生成了带账号的url。

$.ax('./front/getURLBySidAndUid', {sysid:sysid}, 'POST', function(d) {
    var loginurl_withaccout = d.loginurl + "?"+d.namefield+"="+d.username+"&"+d.pwdfield+"="+d.userpwd;
    console.info(loginurl_withaccout);
    window.open(loginurl_withaccout, "_blank");
}, function(e) {
    layer.alert('出问题啦~请稍后再试~',{title:'提示',icon: 2});
}, false); //同步

在新标签页中post方式打开url

下面这种方式支持IE9以上以及谷歌火狐.但是不支持360

/*获取系统带参数的登录url*/
$.ax('./front/getURLBySidAndUid', {sysid:sysid}, 'POST', function(d) {

    /*get跳转*/
    /*var loginurl_withaccout = d.loginurl + "?"+d.namefield+"="+d.username+"&"+d.pwdfield+"="+d.userpwd;
    window.open(loginurl_withaccout, "_blank");*/

    /*post跳转*/
    var params = new Array();
    params.push({ name:d.namefield,value:d.username},{name:d.pwdfield,value:d.userpwd});
    openPostWindow(d.loginurl,params,"_blank");
}, function(e) {
    layer.alert('出问题啦~请稍后再试~',{title:'提示',icon: 2});
}, false); //同步

    /**
     * 动态创建form表单 - 实现post带参数跳转到新tab页
     **/
    function openPostWindow(url,params,name){
        var tempForm = document.createElement("form");
        tempForm.id="tempForm_post";
        tempForm.method="post";
        tempForm.enctype="application/x-www-form-urlencoded";
        tempForm.action=url;
        tempForm.target=name;  /*打开新窗口*/
        tempForm.style.display = "none";
        //添加参数
        for (var item in params) {
            var input = document.createElement("input");
            input.name = params[item].name;
            input.value = params[item].value;
            tempForm.appendChild(input);
        }
        document.body.appendChild(tempForm);
        tempForm.submit();
        document.body.removeChild(tempForm);
    }

window.location和window.open区别

性质不同

  • window.location:window.location是window对象的属性。
  • window.open:window.open是window对象的方法。

用途不同

  • window.location:window.location用来替换当前页,也就是重新定位当前页 。
  • window.open:window.open用来让链接页面在窗口中打开。

打开网站不同

  • window.location:window.location只能在一个网站中打开本网站的网页。
  • window.open:window.open可以在一个网站上打开另外的一个网站的地址 。
点赞
  1. Great goods from you, man. I have understand your stuff previous to and you're just extremely excellent.
    I really like what you've acquired here, certainly like what you are saying and the way
    in which you say it. You make it enjoyable and you still take care of to keep it wise.
    I can't wait to read much more from you. This is actually a terrific
    web site.

Leave a Reply

Your email address will not be published. Required fields are marked *