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可以在一个网站上打开另外的一个网站的地址 。
如果这篇文章对你有用,可以关注本人微信公众号获取更多ヽ(^ω^)ノ ~

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
2018-12-25 计算机存储单位及网络传输单位