使用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 自动完成脚本整理(33个)
Oct 20 Javascript
JQuery的一些小应用收集
Mar 27 Javascript
Javascript根据指定下标或对象删除数组元素
Dec 21 Javascript
JS和Jquery获取和修改label的值的示例代码
Jan 15 Javascript
第九章之路径分页标签与徽章组件
Apr 25 Javascript
JS实现弹出居中的模式窗口示例
Jun 20 Javascript
js表单元素checked、radio被选中的几种方法(详解)
Aug 22 Javascript
require.js 加载 vue组件 r.js 合并压缩的实例
Oct 14 Javascript
JS中动态创建元素的三种方法总结(推荐)
Oct 20 Javascript
Angularjs上传图片实例详解
Aug 06 Javascript
JavaScript实现Tab选项卡切换
Feb 13 Javascript
Promise静态四兄弟实现示例详解
Jul 07 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
站长助手-网站web在线管理程序 v1.0 下载
2007/05/12 PHP
php代码运行时间查看类代码分享
2011/08/06 PHP
如何用php生成扭曲及旋转的验证码图片
2013/06/07 PHP
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
2014/06/19 PHP
ecshop实现smtp发送邮件
2015/02/03 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
jQuery 使用个人心得
2009/02/26 Javascript
asp.net下利用js实现返回上一页的实现方法小集
2009/11/24 Javascript
jQuery子属性过滤选择器用法分析
2015/02/10 Javascript
详解JavaScript的Date对象(制作简易钟表)
2020/04/07 Javascript
asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)
2016/05/05 Javascript
JS设置随机出现2个数字的实例代码
2017/07/19 Javascript
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
2018/08/24 Javascript
vue编写简单的购物车功能
2021/01/08 Vue.js
详解React中共享组件逻辑的三种方式
2021/02/02 Javascript
[00:57]林俊杰助阵DOTA2亚洲邀请赛
2015/01/28 DOTA
Python使用lxml模块和Requests模块抓取HTML页面的教程
2016/05/16 Python
python使用TensorFlow进行图像处理的方法
2018/02/28 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
2018/11/07 Python
Linux下远程连接Jupyter+pyspark部署教程
2019/06/21 Python
Python调用百度根据经纬度查询地址的示例代码
2019/07/07 Python
python 如何调用 dubbo 接口
2020/09/24 Python
html5实现滑块功能之type=&quot;range&quot;属性
2020/02/18 HTML / CSS
Notino匈牙利:购买香水和化妆品
2019/04/12 全球购物
捷克母婴用品购物网站:Feedo.cz
2020/12/28 全球购物
四群教育工作实施方案
2014/03/26 职场文书
学校青年志愿者活动总结
2015/05/06 职场文书
2016新年致辞
2015/08/01 职场文书
结婚喜宴迎宾词
2015/08/10 职场文书
幼儿园2016圣诞节活动总结
2016/03/31 职场文书
2016年学校“6﹒26国际禁毒日”宣传活动总结
2016/04/05 职场文书
SQL SERVER中常用日期函数的具体使用
2021/04/08 SQL Server
python通过函数名调用函数的几种方法总结
2021/06/07 Python
Python操作CSV格式文件的方法大全
2021/07/15 Python
python中tkinter复选框使用操作
2021/11/11 Python
Vue OpenLayer 为地图绘制风场效果
2022/04/24 Vue.js