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 相关文章推荐
用js计算页面执行时间的函数
Dec 07 Javascript
Jquery 动态添加按钮实现代码
May 06 Javascript
javascript基础知识大集锦(一) 推荐收藏
Jan 13 Javascript
使用js实现雪花飘落效果
Aug 26 Javascript
怎么判断js脚本加载完成
Feb 28 Javascript
js获取上传文件大小示例代码
Apr 10 Javascript
node.js学习总结之调式代码的方法
Jun 25 Javascript
jQuery插件cxSelect多级联动下拉菜单实例解析
Jun 24 Javascript
预防网页挂马的方法总结
Nov 03 Javascript
Angular中的$watch、$watchGroup、$watchCollection
Jun 25 Javascript
基于Vue的侧边目录组件的实现
Feb 05 Javascript
vue判断按钮是否可以点击
Apr 09 Vue.js
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
linux系统下php安装mbstring扩展的二种方法
2014/01/20 PHP
简单的php缓存类分享     php缓存机制
2014/01/22 PHP
php页面缓存方法小结
2015/01/10 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
2016/12/23 PHP
如何用PHP做到页面注册审核
2017/03/02 PHP
一个高效的JavaScript压缩工具下载集合
2007/03/06 Javascript
JSQL SQLProxy 的 php 版本代码
2010/05/05 Javascript
jquery submit ie6下失效的原因分析及解决方法
2013/11/15 Javascript
ECMAScript5中的对象存取器属性:getter和setter介绍
2014/12/08 Javascript
jQuery中eq()方法用法实例
2015/01/05 Javascript
数据分析软件之FineReport教程:[5]参数界面JS(全)
2015/08/13 Javascript
node.js版本管理工具n无效的原理和解决方法
2016/11/24 Javascript
javascript 数组去重复(在线去重工具)
2016/12/17 Javascript
vue监听scroll的坑的解决方法
2017/09/07 Javascript
JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例
2018/07/31 Javascript
TensorFlow.js 微信小程序插件开始支持模型缓存的方法
2020/02/21 Javascript
微信小程序实现抖音播放效果的实例代码
2020/04/11 Javascript
Python编程中装饰器的使用示例解析
2016/06/20 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
2018/02/21 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
详解numpy.meshgrid()方法使用
2019/08/01 Python
使用PyCharm进行远程开发和调试的实现
2019/11/04 Python
推荐8款常用的Python GUI图形界面开发框架
2020/02/23 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
2020/05/03 Python
对Matlab中共轭、转置和共轭装置的区别说明
2020/05/11 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
2021/02/04 Python
介绍一下gcc特性
2015/10/31 面试题
工作失职检讨书范文
2014/01/16 职场文书
小学生考试获奖感言
2014/01/30 职场文书
专业技术职务聘任书
2014/03/29 职场文书
金融与证券专业求职信
2014/06/22 职场文书
大专应届毕业生求职信
2014/07/15 职场文书
安全生产目标管理责任书
2014/07/25 职场文书
字典算法实现及操作 --python(实用)
2021/03/31 Python
vue route新窗口跳转页面并且携带与接收参数
2022/04/10 Vue.js
Nginx+Tomcat负载均衡多实例详解
2022/04/11 Servers