使用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 相关文章推荐
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
Sep 19 Javascript
中文字符串截取的js函数代码
Apr 17 Javascript
JavaScript中的正则表达式简明总结
Apr 04 Javascript
js中split和replace的用法实例
Feb 28 Javascript
精通JavaScript的this关键字
May 28 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
Jul 27 Javascript
vue2.0结合Element实现select动态控制input禁用实例
May 12 Javascript
深入剖析Express cookie-parser中间件实现示例
Feb 01 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
Feb 07 Javascript
轻松搞定jQuery+JSONP跨域请求的解决方案
Mar 06 jQuery
vue里面使用mui的弹出日期选择插件实例
Sep 16 Javascript
JS数组Object.keys()方法的使用示例
Jun 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开发中的中文编码问题
2013/08/08 PHP
php 无限分类 树形数据格式化代码
2016/10/11 PHP
PHP swoole和redis异步任务实现方法分析
2019/08/12 PHP
Laravel 微信小程序后端搭建步骤详解
2019/11/26 PHP
JS获取父节点方法
2009/08/20 Javascript
ASP.NET中AJAX 调用实例代码
2012/05/03 Javascript
JQuery入门——事件切换之hover()方法应用介绍
2013/02/05 Javascript
js渐变显示渐变消失示例代码
2013/08/01 Javascript
jquery防止重复执行动画避免页面混乱
2014/04/22 Javascript
js实现固定显示区域内自动缩放图片的方法
2015/07/18 Javascript
jquery获取css的color值返回RGB的方法
2015/12/18 Javascript
jQuery中fadein与fadeout方法用法示例
2016/09/16 Javascript
JavaScript实现经典排序算法之冒泡排序
2016/12/28 Javascript
判断横屏竖屏(三种)
2017/02/13 Javascript
vue-cli创建的项目,配置多页面的实现方法
2018/03/15 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
2018/08/10 Javascript
js实现图片推拉门效果代码实例
2019/05/18 Javascript
Python中的map、reduce和filter浅析
2014/04/26 Python
python开发之IDEL(Python GUI)的使用方法图文详解
2015/11/12 Python
Python读大数据txt
2016/03/28 Python
Python实现将不规范的英文名字首字母大写
2016/11/15 Python
python数据分析数据标准化及离散化详解
2018/02/26 Python
python pandas dataframe 行列选择,切片操作方法
2018/04/10 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
2018/12/31 Python
浅谈Keras中shuffle和validation_split的顺序
2020/06/19 Python
英国最大的百货公司:Harrods
2016/08/18 全球购物
Born鞋子官网:Born Shoes
2017/04/06 全球购物
size?瑞典:英国伦敦的球鞋精品店
2018/03/01 全球购物
英国买鞋网站:Charles Clinkard
2019/11/14 全球购物
毕业生自我鉴定实例
2014/01/21 职场文书
网络技术专业推荐信
2014/02/20 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
村党的群众路线教育实践活动总结材料
2014/10/31 职场文书
公司清洁工岗位职责
2015/04/15 职场文书
react 项目中引入图片的几种方式
2021/06/02 Javascript
SQL Server数据库的三种创建方法汇总
2023/05/08 MySQL