使用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 相关文章推荐
提高网站性能之 如何对待JavaScript
Oct 31 Javascript
javascript针对DOM的应用实例(一)
Apr 15 Javascript
setTimeout自动触发一个js的方法
Jan 15 Javascript
对js关键字命名的疑问介绍
Apr 25 Javascript
详解使用vue脚手架工具搭建vue-webpack项目
May 10 Javascript
JS获取短信验证码倒计时的实现代码
May 22 Javascript
js使用html2canvas实现屏幕截取的示例代码
Aug 28 Javascript
基于Vue生产环境部署详解
Sep 15 Javascript
vue.js中npm安装教程图解
Apr 10 Javascript
详解javascript中的变量提升和函数提升
May 24 Javascript
Vue实现一个图片懒加载插件
Mar 11 Javascript
layer.open弹层查看缩略图的原图,自适应大小的实例
Sep 05 Javascript
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生成HTML静态页面实例代码
2008/08/31 PHP
php判断数组元素中是否存在某个字符串的方法
2014/06/14 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
浅谈Laravel中的一个后期静态绑定
2017/08/11 PHP
php和redis实现秒杀活动的流程
2019/07/17 PHP
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
如何用JavaScript定义一个类
2014/09/12 Javascript
javascript复制粘贴与clipboardData的使用
2014/10/16 Javascript
node.js实现BigPipe详解
2014/12/05 Javascript
jQuery中size()方法用法实例
2014/12/27 Javascript
jquery获取当前元素索引值用法实例
2015/06/10 Javascript
设计模式中的facade外观模式在JavaScript开发中的运用
2016/05/18 Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
2017/02/27 Javascript
Vue2.0 UI框架ElementUI使用方法详解
2017/04/14 Javascript
Vue 监听列表item渲染事件方法
2018/09/06 Javascript
JS手写一个自定义Promise操作示例
2020/03/16 Javascript
python抓取网页图片示例(python爬虫)
2014/04/27 Python
跟老齐学Python之从if开始语句的征程
2014/09/14 Python
Python及PyCharm下载与安装教程
2017/11/18 Python
python自动化报告的输出用例详解
2018/05/30 Python
Python实现图片拼接的代码
2018/07/02 Python
对python字典元素的添加与修改方法详解
2018/07/06 Python
python2 与 pyhton3的输入语句写法小结
2018/09/10 Python
python数据预处理 :数据抽样解析
2020/02/24 Python
浅析Python模块之间的相互引用问题
2021/02/26 Python
BSTN意大利:德国街头和运动文化高品质商店
2020/12/22 全球购物
RIP版本1跟版本2的区别
2013/12/30 面试题
生产车间主任的个人自我鉴定
2013/10/25 职场文书
医科大学生的自我评价
2013/12/04 职场文书
新入职员工的自我介绍演讲稿
2014/01/02 职场文书
新年联欢会主持词
2014/03/27 职场文书
镇政府副镇长群众路线专题民主生活会对照检查材料
2014/09/19 职场文书
教师年度考核个人总结
2015/02/12 职场文书
2016暑期社会实践新闻稿
2015/11/25 职场文书
2019入党申请书格式
2019/06/25 职场文书
在HTML中引入CSS的几种方式介绍
2021/12/06 HTML / CSS