苹果safari浏览器window.open问题

现象:在做项目的过程中,使用window.open打开新窗口,在windows系统的ie,firefox,chrome浏览器上测试均没有问题,在苹果系统的safari浏览器上发现有些window.open可以打开选项卡,有些不可以打开

第一种可以打开选项卡

第二种则打不开选项卡

解决方案:百度发现“safari 中没办法在回调函数里面执行window.open, 原因是safari的安全机制将其阻挡了”,解决办法就是在请求之前先打开一个空白窗口,在请求成功的回调函数里面:如果请求错误不需要开页,则将开的空白窗口关掉;否则修改当前打开空白窗口的location地址

注:request_data.post_data()方法是自封的请求函数;postDataSucFun函数是请求成功之后的回调函数,error为0则请求成功,不为0则请求失败关闭新的空白窗口

时间: 2024-10-07 07:45:21

苹果safari浏览器window.open问题的相关文章

【学习】苹果iPhone safari浏览器样式重置修复按钮圆角bug

iPhone safari浏览器中,input按钮会按苹果的默认UI来渲染,例如,写的按钮明明是这个样的: 但是实际就会是这个样子: 怎么办呢? 为按钮添加:-webkit-appearance: none; 即可解决!

safari浏览器在window下 打开控制台

有时候需要在window下测试safari浏览器的兼容性 然后需要打开错误控制台 以下是完整打开的图文教程 1.显示菜单栏 2.打开偏好设置 3.然后切换到高级标签 勾选 在菜单栏显示开发菜单 4.打开开发菜单下的 错误控制台 5.直接测试

关于 Safari 浏览器不支持 location [ window.location.href window.open()] 跳转问题的解决方案

最近在做项目时,碰到 safari 浏览器不支持location跳转问题,针对此问题,可以通过 js 模拟点击时间来解决,代码如下: 1 <!DOCTYPE HTML> 2 <html lang="en-US"> 3 <head> 4   <meta charset="UTF-8"> 5   <title></title> 6 </head> 7 <body> 8   &

js复制内容到剪切板,兼容pc和手机端,支持Safari浏览器

最近,一些项目中用到监听用户复制.剪切的操作. 案例1.在PC端,当用户获得一个京东卡的使用券,当用户使用ctrl + C复制得到的使用券时,将使用券的代号复制到粘贴板,以便于用户ctrl+v进行粘贴. 案例2:在移动端(android 和 iOS端),用户获得邀请码之后,可以使用一键复制的功能,将邀请码复制到剪切板,然后在app中进行兑换. 使用jQuery中的方法监听用户的剪切.复制.粘贴的行为 $("#cut").on("cut",function(){ al

JS 原生JS 判断滚动条滑动到底部(兼容苹果safari)

ListenerScoller () { var pageIndex = 1; var startX, startY; document.addEventListener('touchstart',function (ev) { startX = ev.touches[0].pageX; startY = ev.touches[0].pageY; }, false); let _this = this; document.addEventListener('touchend',function

修复iPhone的safari浏览器上submit按钮圆角bug

今天在公司写了一个登录页面效果,让我碰到一个怪异的问题——"表单中的input type=submit和input type=reset按钮在iPhone的safari浏览器下圆角有一个bug”很是疑惑,于是搜集整理一番,下面我来简单的描述一下这个bug的样子 自从完成上次iPhone的几个页面效果后,一直在没有制作iPhone的页面效果了,今天在公司写了一个登录页面效果,让我碰到一个怪异的问题——“表单中的input[type="submit"]和input[type=&q

Safari浏览器对设定的高度不起作用,解决方案

1.在做浏览器兼容的时候,发现select标签在safari苹果浏览器中的高度永远都是默认的,这时候解决的办法是加上line-height属性就可以设置: 2.但加上line-height属性可以设置高度后你会发现高度变大了,safari浏览器对select默认上下边距padding各多出3px的高度: 比如设置height:24px;safari下面会变成30px;这样一来,就和别的浏览器无法统一了,试过-webkit-appearance:none;但是清掉下拉图标,文字都成了底部对齐,也不

safari浏览器模拟ipone,ipad以及其他浏览器版本

1.打开safari浏览器中的偏好设置 2.在偏好设置中,选择高级,勾选在菜单栏中显示开发菜单 3.打开开发,进入响应式设计模式 4.可以选择iphone 或ipad.浏览器等不同模式,进行模拟 5.也可以模拟其他浏览器,window中的浏览器 选择浏览器名称下拉框可以选择使用 6.使用完之后,点击开发--退出响应式设计模式,浏览器恢复正常 原文地址:https://www.cnblogs.com/wuyazi/p/8929613.html

解决苹果手机Safari浏览器下 字体显示为 蓝色的 问题

解决苹果手机 Safari浏览器下   字体显示为蓝色的 问题 近期测试同学测试,wap站上,底部文字在苹果8上面 ,使用 Safari浏览器打开,一直显示 蓝色字体 其他正常,寻找半天无解,最后 阳仔 小伙伴 猛然想起来,这是 不兼容,少了一句meta标签 在 head区域 添加上 这句话 即可  ,正常显示 字体颜色了 <meta name="format-detection" content="telephone=no"> 原文地址:https:/