Javascript中封装window.open解决不兼容问题


Posted in Javascript onSeptember 28, 2014

对window.open进行封装, 使其更好用, 且更兼容, 很多人说window.open不兼容,其实不是, 因为不能直接执行, 必须通过用户手动触发才行;看代码:

代码如下

var openWindow = function(url, options) {
var str = "";
if (options) {
options.height = options.height || 420;
options.width = options.width || 550;
options.left = options.left || ((screen.width - options.width) / 2); //默认为居中
options.top = options.top || ((screen.height - options.height) / 2); //默认为居中

for (var i in options) {
str += ',' + i + '=' + options[i];
}
str = str.substr(1);
};
window.open(url, 'connect_window_'+ (+new Date), str);//参数1为url,参数2为了能可以重复弹出
str = null;
};


//demo 1:新窗口打开我的led投光灯电源网站
document.body.onclick = function(){
openWindow("http://www.daermay.com/ ?rel=xuexb");
}

//demo 2:固定宽 并居中
document.body.onclick = function(){
openWindow("https://3water.com/ ?rel=xuexb",{
width:888
});
}
Javascript 相关文章推荐
javascript indexOf函数使用说明
Jul 03 Javascript
dojo学习第一天 Tab选项卡 实现
Aug 28 Javascript
jquery默认校验规则整理
Mar 24 Javascript
分享20个提升网站界面体验的jQuery插件
Dec 15 Javascript
JavaScript编程中window的location与history对象详解
Oct 26 Javascript
AngularJS入门心得之directive和controller通信过程
Jan 25 Javascript
用JS动态改变表单form里的action值属性的两种方法
May 25 Javascript
jQuery购物车插件jsorder用法(支持后台处理程序直接转换成DataTable处理)
Jun 08 Javascript
JSONP和批量操作功能的实现方法
Aug 21 Javascript
全面解析Bootstrap表单样式的使用
Sep 09 Javascript
Angularjs使用过滤器完成排序功能
Sep 20 Javascript
浅谈TypeScript 索引签名的理解
Oct 16 Javascript
jQuery固定浮动侧边栏实现思路及代码
Sep 28 #Javascript
js文件包含的几种方式介绍
Sep 28 #Javascript
javascript中bind函数的作用实例介绍
Sep 28 #Javascript
js和jquery如何获取图片真实的宽度和高度
Sep 28 #Javascript
一个jquery实现的不错的多行文字图片滚动效果
Sep 28 #Javascript
IE中getElementsByName()对有些元素无效的解决方案
Sep 28 #Javascript
js propertychange和oninput事件
Sep 28 #Javascript
You might like
使用php实现截取指定长度
2013/08/06 PHP
PHP计算一年多少个星期和每周的开始和结束日期
2014/07/01 PHP
PHP中使用数组指针函数操作数组示例
2014/11/19 PHP
详解cookie验证的php应用的一种SSO解决办法
2017/10/20 PHP
javascript仿php的print_r函数输出json数据
2013/09/13 Javascript
javascript删除数组元素并且数组长度减小的简单实例
2014/02/14 Javascript
巧用局部变量提升javascript性能
2014/02/24 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
2015/12/24 Javascript
jquery使用EasyUI Tree异步加载JSON数据(生成树)
2017/02/11 Javascript
vue router路由嵌套不显示问题的解决方法
2017/06/17 Javascript
详解JavaScript中的数组合并方法和对象合并方法
2018/05/11 Javascript
vue实现图片预览组件封装与使用
2019/07/13 Javascript
jQuery中DOM常见操作实例小结
2019/08/01 jQuery
Vue登录主页动态背景短视频制作
2019/09/21 Javascript
在nodejs中创建child process的方法
2021/01/26 NodeJs
[07:20]2014DOTA2西雅图国际邀请赛 选手讲解积分赛第二天
2014/07/11 DOTA
[43:43]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第一场 11.22
2020/11/24 DOTA
python3.4用循环往mysql5.7中写数据并输出的实现方法
2017/06/20 Python
Python turtle绘画象棋棋盘
2019/08/21 Python
python使用正则来处理各种匹配问题
2019/12/22 Python
cookies应对python反爬虫知识点详解
2020/11/25 Python
澳大利亚领先的男装零售连锁店:Lowes
2020/08/07 全球购物
工业学校毕业生自荐书
2014/01/03 职场文书
财务出纳岗位职责
2014/02/03 职场文书
高中生职业生涯规划书
2014/02/24 职场文书
文化宣传方案
2014/03/13 职场文书
标准大学生职业生涯规划书写作指南
2014/09/18 职场文书
反对四风问题自我剖析材料
2014/09/29 职场文书
工作失误检讨书(3篇)
2014/10/11 职场文书
2014年房地产销售工作总结
2014/12/01 职场文书
团员个人总结
2015/02/26 职场文书
考研导师推荐信范文
2015/03/27 职场文书
Python连续赋值需要注意的一些问题
2021/06/03 Python
详解Java实践之建造者模式
2021/06/18 Java/Android
JavaScript 中for/of,for/in 的详细介绍
2021/11/17 Javascript
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL