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 相关文章推荐
几行代码轻松搞定jquery实现flash8类似的连接效果
May 03 Javascript
javascript语句中的CDATA标签的意义
May 09 Javascript
Jquery 常用方法经典总结
Jan 28 Javascript
JavaScript中对象属性的添加和删除示例
May 12 Javascript
jQuery新窗口打开外链接
Jul 21 Javascript
利用jQuery对无序列表排序的简单方法
Oct 16 Javascript
jQuery DateTimePicker 日期和时间插件示例
Jan 22 Javascript
bootstrap为水平排列的表单和内联表单设置可选的图标
Feb 15 Javascript
JS设置时间无效问题的解决办法
Feb 18 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
Sep 04 Javascript
layui动态加载多表头的实例
Sep 05 Javascript
jQuery/JS监听input输入框值变化实例
Oct 17 jQuery
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之COOKIE支持详解
2010/09/20 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
2015/12/28 PHP
PHP实现限制域名访问的实现代码(本地验证)
2020/09/13 PHP
jquery toolbar与网页浮动工具条具体实现代码
2014/01/12 Javascript
c#程序员对TypeScript的认识过程
2015/06/19 Javascript
js简单设置与使用cookie的方法
2016/01/22 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
最全面的JS倒计时代码
2016/09/17 Javascript
livereload工具实现前端可视化开发【推荐】
2016/12/23 Javascript
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
vue.js组件之间传递数据的方法
2017/07/10 Javascript
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
2018/03/22 Javascript
对angularjs框架下controller间的传值方法详解
2018/10/08 Javascript
ES6的Fetch异步请求的实现方法
2018/12/07 Javascript
JavaScript实现拖拽盒子效果
2020/02/06 Javascript
Vue axios与Go Frame后端框架的Options请求跨域问题详解
2020/03/03 Javascript
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
2020/06/02 jQuery
JS如何定义用字符串拼接的变量
2020/07/11 Javascript
[01:54]TI4西雅图DOTA2选手欢迎晚宴 现场报道
2014/07/08 DOTA
解析Python中的异常处理
2015/04/28 Python
Python微信库:itchat的用法详解
2017/08/14 Python
python 时间信息“2018-02-04 18:23:35“ 解析成字典形式的结果代码详解
2018/04/19 Python
TensorFlow实现简单卷积神经网络
2018/05/24 Python
python实现猜数字小游戏
2020/03/24 Python
python对list中的每个元素进行某种操作的方法
2018/06/29 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
2019/07/03 Python
django用户登录验证的完整示例代码
2019/07/21 Python
python实现邮件自动发送
2019/08/10 Python
基于Python测试程序是否有错误
2020/05/16 Python
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
ktv服务员岗位职责
2015/02/09 职场文书
2015年个人招商工作总结
2015/04/25 职场文书
《1942》观后感
2015/06/08 职场文书
python - asyncio异步编程
2021/04/06 Python
浅谈为什么我的 z-index 又不生效了
2022/07/15 HTML / CSS
Python爬取奶茶店数据分析哪家最好喝以及性价比
2022/09/23 Python