使用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 相关文章推荐
拖动布局之保存布局页面cookies篇
Oct 29 Javascript
不提示直接关闭网页窗口的JS示例代码
Dec 17 Javascript
jQuery.holdReady()使用方法
May 20 Javascript
javascript实现可全选、反选及删除表格的方法
May 15 Javascript
详解JavaScript中Date.UTC()方法的使用
Jun 12 Javascript
javascript实现数字倒计时特效
Mar 30 Javascript
Ext JS框架中日期函数的用法及日期选择控件的实现
May 21 Javascript
Vue.js中用webpack合并打包多个组件并实现按需加载
Feb 17 Javascript
AngularJS 限定$scope的范围实例详解
Jun 23 Javascript
js中url对象化管理分析
Dec 29 Javascript
微信小程序实现商城倒计时
Nov 01 Javascript
vue实现书本翻页动画效果实例详解
Apr 08 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新手谈谈我的学习心得
2007/02/25 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
2014/05/12 PHP
php匹配字符中链接地址的方法
2014/12/22 PHP
thinkphp中U方法按路由规则生成url的方法
2018/03/12 PHP
js表格分页实现代码
2009/09/18 Javascript
jQuery实现设置、移除文本框默认值功能
2015/01/13 Javascript
JavaScript 里的类数组对象
2015/04/08 Javascript
jquery轮播的实现方式 附完整实例
2016/07/28 Javascript
JavaScript拖动层Div代码
2017/03/01 Javascript
Javascript中的async awai的用法
2017/05/17 Javascript
AngularJS页面带参跳转及参数解析操作示例
2017/06/28 Javascript
ReactNative中使用Redux架构总结
2017/12/15 Javascript
Javascript实现运算符重载详解
2018/04/07 Javascript
node中的密码安全(加密)
2018/09/17 Javascript
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
python 基础学习第二弹 类属性和实例属性
2012/08/27 Python
一个超级简单的python web程序
2014/09/11 Python
Python两个整数相除得到浮点数值的方法
2015/03/18 Python
Python六大开源框架对比
2015/10/19 Python
numpy中的delete删除数组整行和整列的实例
2018/05/09 Python
python 读写文件,按行修改文件的方法
2018/07/12 Python
PyQt5实现五子棋游戏(人机对弈)
2020/03/24 Python
python操作docx写入内容,并控制文本的字体颜色
2020/02/13 Python
Pycharm中import torch报错的快速解决方法
2020/03/05 Python
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
塔吉特百货公司官网:Target
2017/04/27 全球购物
俄罗斯设计师家具购物网站:The Furnish
2019/12/01 全球购物
科颜氏香港官方网店:Kiehl’s香港
2021/03/07 全球购物
Python面试题:Python里面如何生成随机数
2015/03/12 面试题
生日礼品店创业计划书范文
2014/03/21 职场文书
公务员保密承诺书
2014/03/27 职场文书
政风行风自查自纠报告
2014/10/21 职场文书
高中运动会前导词
2015/07/20 职场文书
Pytorch 中net.train 和 net.eval的使用说明
2021/05/22 Python
深入解析MySQL索引数据结构
2021/10/16 MySQL