使用jquery实现以post打开新窗口


Posted in Javascript onMarch 19, 2014

网络上已有此功能的函数,是以纯JS实现。但是在项目中发现,此函数无法兼容Firefox,由此我重写了此方法.

//默认新窗口配置 
var windowDefaultConfig = new Object; 
windowDefaultConfig['directories'] = 'no'; 
windowDefaultConfig['location'] = 'no'; 
windowDefaultConfig['menubar'] = 'no'; 
windowDefaultConfig['resizable'] = 'yes'; 
windowDefaultConfig['scrollbars'] = 'yes'; 
windowDefaultConfig['status'] = 'no'; 
windowDefaultConfig['toolbar'] = 'no';

/** 
* 以POST表单方式打开新窗口的JQUERY实现 
@param:url 需要打开的URL 
@param:args URL的参数,数据类型为object 
@param:name 打开URL窗口的名字,如果同一按钮需要重复地打开新窗口, 
而不是在第一次打开的窗口做刷新,此参数应每次不同 
@param:windowParam 新打开窗口的参数配置 
* @author: haijiang.mo 
*/ 
function jQueryOpenPostWindow(url,args,name,windowParam){ 
//创建表单对象 
var _form = $("<form></form>",{ 
'id':'tempForm', 
'method':'post', 
'action':url, 
'target':name, 
'style':'display:none' 
}).appendTo($("body")); 
//将隐藏域加入表单 
for(var i in args){ 
_form.append($("<input>",{'type':'hidden','name':i,'value':args[i]})); 
} 
//克隆窗口参数对象 
var windowConfig = clone(windowDefaultConfig); 
//配置窗口 
for(var i in windowParam){ 
windowConfig[i] = windowParam[i]; 
} 
//窗口配置字符串 
var windowConfigStr = ""; 
for(var i in windowConfig){ 
windowConfigStr += i+"="+windowConfig[i]+","; 
} 
//绑定提交触发事件 
_form.bind('submit',function(){ 
window.open("about:blank",name,windowConfigStr); 
}); 
//触发提交事件 
_form.trigger("submit"); 
//表单删除 
_form.remove(); 
}

记录下来,以后可以用。
Javascript 相关文章推荐
Gird组件 Part-3:范例RSSFeed Viewer
Mar 10 Javascript
JavaScript中setInterval的用法总结
Nov 20 Javascript
JavaScript中的prototype和constructor简明总结
Apr 05 Javascript
JavaScript实现数据类型的相互转换
Mar 06 Javascript
AngularJS的ng-click传参的方法
Jun 19 Javascript
javascript+jQuery实现360开机时间显示效果
Nov 03 jQuery
js canvas实现红包照片效果
Aug 21 Javascript
简化版的vue-router实现思路详解
Oct 19 Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
Apr 24 Javascript
vue组件库的在线主题编辑器的实现思路
Apr 03 Javascript
JavaScript基于SVG的图片切换效果实例代码
Dec 15 Javascript
vue实现无缝轮播效果(跑马灯)
May 14 Vue.js
jquery判断小数点两位和自动删除小数两位后的数字
Mar 19 #Javascript
改变隐藏的input中value值的方法
Mar 19 #Javascript
js获取url中的参数且参数为中文时通过js解码
Mar 19 #Javascript
JS 打印界面的CSS居中代码适用所有浏览器
Mar 19 #Javascript
兼容所有浏览器的js复制插件Zero使用介绍
Mar 19 #Javascript
javascript + jquery实现定时修改文章标题
Mar 19 #Javascript
深入理解Javascript里的依赖注入
Mar 19 #Javascript
You might like
php header Content-Type类型小结
2011/07/03 PHP
php实现多城市切换特效
2015/08/09 PHP
利用 fsockopen() 函数开放端口扫描器的实例
2017/08/19 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
2019/10/21 PHP
最新的10款jQuery内容滑块插件分享
2011/09/18 Javascript
jQuery选择器之基本选择器与层次选择器
2015/03/03 Javascript
浅谈JavaScript for循环 闭包
2016/06/22 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
关于vue.extend和vue.component的区别浅析
2017/08/16 Javascript
简单实现jQuery轮播效果
2017/08/18 jQuery
详解Vue中一种简易路由传参办法
2017/09/15 Javascript
js canvas实现二维码和图片合成的海报
2020/11/19 Javascript
微信小程序代码上传、审核发布小程序
2019/05/18 Javascript
vue实现购物车结算功能
2020/06/18 Javascript
Python作用域用法实例详解
2016/03/15 Python
django框架如何集成celery进行开发
2017/05/24 Python
python中Pycharm 输出中文或打印中文乱码现象的解决办法
2017/06/16 Python
你眼中的Python大牛 应该都有这份书单
2017/10/31 Python
Python爬虫设置代理IP的方法(爬虫技巧)
2018/03/04 Python
Python爬虫包BeautifulSoup简介与安装(一)
2018/06/17 Python
python使用pipeline批量读写redis的方法
2019/02/18 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
Python爬虫之Spider类用法简单介绍
2020/08/04 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
2020/11/17 Python
美国校园市场:OCM
2017/06/08 全球购物
Right-on官方网站:日本知名的休闲服装品牌
2019/07/12 全球购物
JavaScript实现前端网页版倒计时
2021/03/24 Javascript
毕业生护理专业个人求职信范文
2014/01/04 职场文书
土木工程求职信
2014/05/29 职场文书
党员对照检查材料思想汇报(党的群众路线)
2014/09/24 职场文书
个人四风问题原因分析及整改措施
2014/09/28 职场文书
2015年计生协会工作总结
2015/04/24 职场文书
《颐和园》教学反思
2016/02/19 职场文书
初中思品教学反思
2016/02/20 职场文书
SQL使用复合索引实现数据库查询的优化
2022/05/25 SQL Server
教你使用Ubuntu搭建DNS服务器
2022/09/23 Servers