使用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 相关文章推荐
分享几个超级震憾的图片特效
Jan 08 Javascript
javascript ie6兼容position:fixed实现思路
Apr 01 Javascript
jquery mobile动态添加元素之后不能正确渲染解决方法说明
Mar 05 Javascript
jQuery点缩略图弹出层显示大图片
Feb 13 Javascript
JS中如何实现复选框全选功能
Dec 19 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
Mar 11 Javascript
JS图片轮播与索引变色功能实例详解
Jul 06 Javascript
js 倒计时(高效率服务器时间同步)
Sep 12 Javascript
Javascript网页抢红包外挂实现分享
Jan 11 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
May 26 Javascript
js脚本中执行java后台代码方法解析
Oct 11 Javascript
vue实现按钮切换图片
Jan 20 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中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
2015/12/17 PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
2016/04/11 PHP
PHP将MySQL的查询结果转换为数组并用where拼接的示例
2016/05/13 PHP
php文件操作之文件写入字符串、数组的方法分析
2019/04/15 PHP
Jquery从头学起第四讲 jquery入门教程
2010/08/01 Javascript
五个jQuery图片画廊插件 推荐
2011/05/12 Javascript
解析瀑布流布局:JS+绝对定位的实现
2013/05/08 Javascript
JavaScript实现维吉尼亚(Vigenere)密码算法实例
2013/11/22 Javascript
jQuery选择器之基本选择器与层次选择器
2015/03/03 Javascript
javascript实现百度地图鼠标滑动事件显示、隐藏
2015/04/02 Javascript
kindeditor修复会替换script内容的问题
2015/04/03 Javascript
JavaScript动态添加css样式和script标签
2016/07/19 Javascript
详解AngularJS如何实现跨域请求
2016/08/22 Javascript
JS 获取HTML标签内的子节点的方法
2016/09/21 Javascript
Angular 常用指令实例总结整理
2016/12/13 Javascript
javascript实现秒表计时器的制作方法
2017/02/16 Javascript
jQuery鼠标移动图片上实现放大效果
2017/06/25 jQuery
详解vue express启动数据服务
2017/07/05 Javascript
Angular模版驱动表单的使用总结
2018/05/05 Javascript
微信小程序onLaunch异步,首页onLoad先执行?
2018/09/20 Javascript
Elementui表格组件+sortablejs实现行拖拽排序的示例代码
2019/08/28 Javascript
结合axios对项目中的api请求进行封装操作
2020/09/21 Javascript
python批量下载图片的三种方法
2013/04/22 Python
Python中捕捉详细异常信息的代码示例
2014/09/18 Python
使用Python的Treq on Twisted来进行HTTP压力测试
2015/04/16 Python
Python 通过URL打开图片实例详解
2017/06/01 Python
Python编程之列表操作实例详解【创建、使用、更新、删除】
2017/07/22 Python
python模仿网页版微信发送消息功能
2018/02/24 Python
教你利用Python玩转histogram直方图的五种方法
2018/07/30 Python
基于Python pyecharts实现多种图例代码解析
2020/08/10 Python
一些Unix笔试题和面试题
2012/09/25 面试题
群众路线剖析材料
2014/02/02 职场文书
会议承办单位欢迎词
2015/09/30 职场文书
2016学校先进集体事迹材料
2016/02/29 职场文书
详解Redis基本命令与使用场景
2021/06/01 Redis