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 相关文章推荐
提高网站信任度的技巧
Oct 17 Javascript
jquery ready()的几种实现方法小结
Jun 18 Javascript
javascript中创建对象的三种常用方法
Dec 30 Javascript
JQuery中对服务器控件 DropdownList, RadioButtonList, CheckboxList的操作总结
Jun 28 Javascript
JavaScript中的正则表达式简明总结
Apr 04 Javascript
jquery中map函数遍历数组用法实例
May 18 Javascript
JavaScript学习笔记之创建对象
Mar 25 Javascript
React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能
May 26 Javascript
详解vue-cli中配置sass
Jun 21 Javascript
用vuex写了一个购物车H5页面的示例代码
Dec 04 Javascript
使用Vue-Awesome-Swiper实现旋转叠加轮播效果&平移轮播效果
Aug 16 Javascript
详解React路由传参方法汇总记录
Nov 29 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 simple_html_dom.php+正则 采集文章代码
2009/12/24 PHP
php将csv文件导入到mysql数据库的方法
2014/12/24 PHP
PHP封装的MSSql操作类完整实例
2016/05/26 PHP
脚本吧 - 幻宇工作室用到js,超强推荐expand.js
2006/12/23 Javascript
JavaScript聚焦于第一个字段的代码
2010/10/15 Javascript
JavaScript将Table导出到Excel实现思路及代码
2013/03/13 Javascript
主页面中的两个iframe实现鼠标拖动改变其大小
2013/04/16 Javascript
jQuery 中$(this).index与$.each的使用指南
2014/11/20 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
2015/09/07 Javascript
详解AngularJS Filter(过滤器)用法
2015/12/28 Javascript
使用jQuery加载html页面到指定的div实现方法
2016/07/13 Javascript
jQuery双向列表选择器select版
2016/11/01 Javascript
React复制到剪贴板的示例代码
2017/08/22 Javascript
JS实现区分中英文并统计字符个数的方法示例
2018/06/09 Javascript
vue 二维码长按保存和复制内容操作
2020/09/22 Javascript
JavaScript实现五子棋小游戏
2020/10/26 Javascript
解决vant-UI库修改样式无效的问题
2020/11/03 Javascript
[02:10]2018DOTA2亚洲邀请赛赛前采访-Liquid
2018/04/03 DOTA
[47:04]EG vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python处理RSS、ATOM模块FEEDPARSER介绍
2015/02/18 Python
Python中 传递值 和 传递引用 的区别解析
2018/02/22 Python
python实现生成Word、docx文件的方法分析
2019/08/30 Python
windows环境中利用celery实现简单任务队列过程解析
2019/11/29 Python
Win下PyInstaller 安装和使用教程
2019/12/25 Python
python创建文本文件的简单方法
2020/08/30 Python
通过代码实例了解Python sys模块
2020/09/14 Python
python Matplotlib数据可视化(1):简单入门
2020/09/30 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
2020/10/30 Python
Solaris操作系统的线程机制
2015/07/28 面试题
银行门卫岗位职责
2013/12/29 职场文书
给面试官的感谢信
2014/02/01 职场文书
私用公车造成事故检讨书
2014/11/16 职场文书
2015年纪念“卢沟桥事变”78周年活动方案
2015/05/06 职场文书
某学校的2019年度工作报告范本
2019/10/11 职场文书
vue实现无缝轮播效果(跑马灯)
2021/05/14 Vue.js
解决Pytorch中关于model.eval的问题
2021/05/22 Python