使用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 框架小结 个人工作经验
Jun 13 Javascript
Javascript delete 引用类型对象
Nov 01 Javascript
document.getElementById获取控件对象为空的解决方法
Nov 20 Javascript
12306验证码破解思路分享
Mar 25 Javascript
js操作cookie保存浏览记录的方法
Dec 25 Javascript
基于JQuery实现图片上传预览与删除操作
May 24 Javascript
AngularJS中$http服务常用的应用及参数
Aug 22 Javascript
js 发布订阅模式的实例讲解
Sep 10 Javascript
JS随机排序数组实现方法分析
Oct 11 Javascript
vue如何实现自定义底部菜单栏
Jul 01 Javascript
Vue实现导航栏的显示开关控制
Nov 01 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
May 28 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实现登陆验证码(类似条行码状)
2006/10/09 PHP
PHP中iconv函数转码时截断字符问题的解决方法
2015/01/21 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
php+mysql+jquery实现日历签到功能
2017/02/27 PHP
javascript 变量作用域 代码分析
2009/06/26 Javascript
JQuery 将元素显示在屏幕的中央的代码
2010/02/27 Javascript
Function.prototype.call.apply结合用法分析示例
2013/07/03 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
2014/02/19 Javascript
javascript与css3动画结合使用小结
2015/03/11 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
2015/09/16 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
Angularjs整合微信UI(weui)
2016/03/15 Javascript
jQuery实现鼠标选文字发新浪微博的方法
2016/04/02 Javascript
通俗易懂地解释JS中的闭包
2017/10/23 Javascript
基于JavaScript中标识符的命名规则介绍
2018/01/06 Javascript
在小程序中集成redux/immutable/thunk第三方库的方法
2018/08/12 Javascript
Python实现比较两个列表(list)范围
2015/06/12 Python
Python图算法实例分析
2016/08/13 Python
python 实现tar文件压缩解压的实例详解
2017/08/20 Python
python实现批量修改文件名代码
2017/09/10 Python
python的re正则表达式实例代码
2018/01/24 Python
python3.x 将byte转成字符串的方法
2018/07/17 Python
Python父目录、子目录的相互调用方法
2019/02/16 Python
梅尔倒谱系数(MFCC)实现
2019/06/19 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
2020/02/17 Python
python+gdal+遥感图像拼接(mosaic)的实例
2020/03/10 Python
解决paramiko执行命令超时的问题
2020/04/16 Python
Python scrapy爬取小说代码案例详解
2020/07/09 Python
OpenCV4.1.0+VS2017环境配置的方法步骤
2020/07/09 Python
小学生成长感言
2014/01/30 职场文书
运动会通讯稿150字
2014/02/15 职场文书
十八届三中全会学习方案
2014/02/16 职场文书
《胡杨》教学反思
2014/02/16 职场文书
学习群众路线的心得体会
2014/11/05 职场文书
2014年依法行政工作总结
2014/11/19 职场文书
解决MySQL添加新用户-ERROR 1045 (28000)的问题
2022/03/03 MySQL