检测移动到 Mobile Safari 中的新选项卡

2023-11-21

我有一系列打开弹出窗口的页面(Mobile Safari 中的新选项卡)。每个弹出窗口都需要知道它们何时获得焦点。在桌面上,我们使用window.onblur and window.onfocus来驱动这种行为。然而,这些事件在 iPad 上均不起作用。我也尝试过window.onpageshow and window.onpagehide似乎也没有在正确的时间触发。我有一个测试 HTML 文件:

<html>
<head>
<script language="javascript">
console.log('Hello');
window.onblur = function(e) { console.log('blur'); };
window.onfocus = function(e) { console.log('focus'); };
window.onpagehide = function(e) { console.log('pagehide'); };
window.onpageshow = function(e) { console.log('pageshow'); };
</script>
</head>
<body>
<a href="http://www.google.com" target="_blank">Click Me</a>
</body>
</html>

理论上,当您单击“Click Me”时,新窗口出现时您应该会收到一个模糊事件。但在 Mobile Safari 上不会发生这种情况。onpagehide and onpageshow也不表现出任何爱意,它们只能帮助检测您何时要关闭选项卡。

如何在 Mobile Safari 中获得我想要的行为?有可能吗?


尝试这个:https://gist.github.com/1122546

它是 Visibilty API 填充。应该做到这一点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检测移动到 Mobile Safari 中的新选项卡 的相关文章

  • 在 JavaScript 中比较表单中的两个数字

    当我尝试比较不同的数字时 数字发生变化 但文本部分保持不变 这只发生在较大 较小的情况下 而不会发生在 NaN 或相等的情况下 这是我的代码 function check var a document getElementById a va
  • 关闭 UITextView 的键盘而不使用 Return 键

    我正在使用 UITextView 并希望保留 Return 键的正常用法 即插入新行 但是 当我无法使用 Return 键时 如何关闭键盘呢 A lot of people add a UIToolbar with a Done butto
  • Telegram 授权无默认按钮

    使用 Telegram 第 3 方授权的唯一有记录的方法是使用其提供的脚本https core telegram org widgets login https core telegram org widgets login 这个脚本 正如
  • 引入 V8 后,Google Apps 脚本无法为其他用户完全执行

    我编写了一个脚本 得到了这里好心人的大力帮助 该脚本使用 Google Sheets 脚本复制 Google Drive 上的文件夹 和内容 它运行了很长一段时间 但后来我启用了 V8 引擎 现在已禁用 问题是 它仍然适用于我 也许还有其他
  • 使用 jQuery 仅从字符串末尾修剪空格

    我知道 jQuery trim 函数 但我需要的是一种仅从字符串末尾修剪空格的方法 而不是开头 So str this is a string 会成为 str this is a string 有什么建议么 Thanks 您可以使用正则表达
  • 点击问题:动态生成的链接不触发点击功能

    下面是两个代码片段 由于某种原因什么也没有发生 但来自同一个 JS 文件的其他 jQuery 函数在带有 UL 的页面上执行得很好 这是在盯着我看吗 ul class paganation li 1 li li a href 2 a li
  • 专用网络:web3.eth.getAccounts() 始终发送空数组

    我正在运行一个私人以太坊网络 我确实用https aws amazon com blockchain templates 整个设置已经完成 AWS 上的设置看起来正确 现在 我正在尝试创建帐户并检索所有这些帐户 为此 我使用以下方法 Web
  • 辅助功能标识符在 iOS 模拟器的辅助功能检查器中不可见

    我想使用辅助功能检查器来验证在模拟器 iOS 9 2 中运行的应用程序中的所有辅助功能标识符 辅助功能检查器能够返回多个辅助功能字段 但不能返回标识符 知道为什么以及如何我能看到它们吗 实际上有一种方法 克里斯 普林斯 Chris Prin
  • 使用 JavaScript 的计时器

    我想使用java脚本实现计时器 我想随着间隔的变化而减少计时器 Example假设我的计时器从 500 开始 我想要根据级别减少计时器 例如1 一级定时器应减1 且递减速度应较慢 2 2级定时器应递减2 递减速度应为中等3 3级定时器应减3
  • Javascript 选择 onchange='this.form.submit()'

    我有一个带有选择和一些文本输入的表单 我希望在更改选择时提交表单 使用以下方法可以正常工作 onchange this form submit 但是 如果表单还包含提交按钮 则当选择更改时 表单不会提交 我猜有某种冲突 我在这里有什么选择
  • Postman - 如何计算 JSON 响应中特定对象的出现次数

    我是 JSON 和 Postman 的新手 我相信我正在尝试做一些非常简单的事情 我创建了一个 GET 请求 它将获得如下所示的 JSON 响应 在下面的例子中我想得到count响应中所有 IsArchived 属性 这些属性的数量因响应而
  • Meteor.js 登录事件

    因此 我对 Meteor 框架和 JavaScript 总体来说还很陌生 但我正在使用该框架开发一个小项目 以尝试让自己达到标准 基本上我正在开发一个微博客网站 目前 用户可以通过多种服务登录 fb google 等 我通过插入所需 url
  • RTCDataChannel发送方法不发送数据

    我的 RTCDataChannel 遇到一个奇怪的问题 我正在对 WebRTC 进行一些研究 并且已经可以进行 WebRTC 音频 视频聊天 现在我想使用 RTCDataChannel 添加文本聊天和文件共享 我已经像这样创建了 RTCDa
  • 常规 JavaScript 可以与 jQuery 混合使用吗?

    例如 我可以采用这个脚本 来自 Mozilla 教程 https developer mozilla org en Canvas tutorial Basic usage
  • 使用 React React-router 登录后重定向到主页,并且 usenavigate 不起作用?

    我希望用户在成功登录后重定向到主页 我将用户登录的 api 请求的数据存储在一个名为 currentUser 的变量中 因此如果 currentUser 为 true 它应该重定向到主页 这就是我处理登录请求的方式 export const
  • 如何根据所需表单输入的值更改 CSS 样式

    我想知道如何编写 javascript 来改变所需的表单元素的样式 如果它们有价值的话就改变它们 我想要做的是当所需的文本字段为空时 在它们周围有一个彩色边框 并在它们有值时删除边框样式 我想做的是编写一个 javascript 函数来检查
  • iOS 上的推送通知渐进式 Web 应用程序

    我需要开发一个集成了推送通知的渐进式网络应用程序 在网上搜索我发现了关于这个主题的不同意见 如果我理解正确的话 目前我们无法在移动版 safari 中推送通知 但仅限桌面版 这样对吗 你有什么建议来获得相同的结果吗 我不是iOS专家 我想知
  • 测试 NSMutableArray 是否包含字符串对象

    我有一个NSMutableArray其中包含一些NSString对象 如何测试数组是否包含特定的字符串文字 I tried array containsObject teststring 但这行不通 你所做的应该很好 例如 NSArray
  • Objective-C 中 NSURL 为 null 而 NSString 是正确的

    我有一个NSString包含一个 url 以及当我分配时NSURL与NSString NSURL 输出 空 这是因为url中有一些非法字符 导致NSURL不编码就无法读取NSString包含网址 NSString u incomingUrl
  • 使用 Lodash 将对象键转换为具有键值数量的数组[重复]

    这个问题在这里已经有答案了 我有一个产品对象 products bread 1 milk 2 cheese 2 chicken 1 我想要一个包含产品名称的数组 如下所示 products bread milk milk cheese ch

随机推荐

  • 加载多个 .hgrc 文件 - 即一些具有特定于计算机的设置?

    我想保留两个 hgrc 文件 hgrc 和 hgrc local 一个具有 标准 设置 例如 username 另一个具有特定于机器的设置 例如 设置图形合并工具 我怎样才能用汞做到这一点 例如 我用 Vim 就是这样做的 vimrc sy
  • 解码 JSON 时出现“意外字符”

    以下是代码 static TodoState fromJson json JsonCodec codec new JsonCodec List
  • 确保一次只运行一个 shell 脚本实例的快速而肮脏的方法

    有什么快速而简单的方法可以确保在给定时间只有一个 shell 脚本实例在运行 Use flock 1 在文件描述符上创建独占作用域锁 这样您甚至可以同步脚本的不同部分 bin bash Wait for lock on var lock m
  • 在 C 中打印 int,无需 Printf 或任何函数

    我有一个作业 需要在 C 中打印一个整数 而不使用 printf putchar 等 不允许包含头文件 除了我写的任何内容之外 没有任何函数调用 我正在使用一个函数 my char 可能是错误的 但它打印出一个字符 我目前有以下代码 它向后
  • 在 wamp 中为 php 启用 opcache

    我尝试在 wamp 上启用 opcache 但它不起作用 我改变了这样的设置 opcache zend extension C wamp bin php php5 5 12 ext php opcache dll opcache enabl
  • 使用 winform 的 URI 启动应用程序

    我有一个启动默认程序的 URI 我正在尝试弄清楚如何从 Windows 窗体应用程序启动它 Google 上的所有结果都使用 Windows Apps API 来启动 URI 但我需要从表单中执行此操作 如何才能做到这一点 这是应用程序版本
  • 我可以使用 gcloud sql 命令在我的 Google Cloud Sql 实例上运行 sql 文件吗

    我有一个 sql 文件 它创建我的 mysql 数据库以及所有用户和表 我试图找出一种方法可以自动使用此 sql 文件来初始化我的 Google Cloud sql 实例上的数据库 到目前为止 我能够确定的唯一方法是使用gcloud sql
  • Vim:按 Enter 时如何缩进到左括号或括号?

    我已经用 Vim 进行 Python 编程有一段时间了 但有一件事我一直不知道如何将其设置为自动缩进到最后一个打开括号的级别 根据 pep8 如果您有一个空括号并且需要换行以适合 80 列 那么您应该在该空括号处继续下一行 例子 calli
  • 在python中将字节转换为位

    我正在使用Python3 2 我需要将十六进制流作为输入并在位级别解析它 所以我用了 bytes fromhex input str 将字符串转换为实际字节 现在如何将这些字节转换为位 另一种方法是使用bitstring module gt
  • 仅在 iOS 中首次启动时显示屏幕

    Tweetbot 和 Clear 在应用程序首次启动时会显示一个小教程屏幕 说明应用程序的工作原理 仅在应用程序第一次启动时才会弹出带有小教程的屏幕 1次 我如何以及用什么可以制作类似的东西 有人能把我推向正确的方向吗 查看我的意思是 我假
  • PostgreSQL array_agg(INTEGER[])

    使用 Postgres 9 5 我想连接 GROUP BY 中的整数数组 从文档看来 array agg 应该能够做到这一点 但我得到 ERROR cannot accumulate arrays of different dimensio
  • 在 Python 中运行子目录中的所有测试

    我对让所有单元测试在 Python 中运行感到束手无策 我搜索了大约 30 个不同的帖子和单元测试文档 但仍然无法弄清楚 首先 我有两个测试类 我可以单独运行它们并且所有测试都通过 文件 unittest subfolder1 TestOb
  • CGPoint 到 NSValue 并反向

    我有代码 NSMutableArray vertices NSMutableArray alloc init Getting mouse coordinates loc self convertPoint event locationInW
  • MongoDB 聚合查询 - 重命名从嵌入文档中返回的字段

    我目前正在使用聚合运算符返回具有嵌入 子 文档数组的文档 我想重命名数组的字段名称 并重命名数组嵌入文档中的字段名称 例如 对于投影 我想将数组从 friends 重命名为 buddies 并且我还想将嵌入文档中的字段从 name 重命名为
  • 在 Python 中从 Json 创建具有多个键值的嵌套 Json 结构

    我的代码如下 import json def reformat importscompanies print importscompanies container child item dict for name imports in im
  • 具有不同签名的两个主要方法

    我有以下课程 public class Test public static void main Integer args System out println This is not a main public static void m
  • 用双反斜杠替换单反斜杠需要八个反斜杠吗?

    这是一个 这里到底发生了什么 的问题 我实际上不需要解决方案 我必须用双反斜杠替换 String 中的所有单反斜杠 这就是我最终所做的 strRootDirectory strRootDirectory replaceAll 其中 strR
  • 删除字符串开头和结尾的所有分隔符

    在折叠行并使用分号分隔后 我想删除字符串前面和后面的分号 多个分号代表单元格中的空白 例如 崩溃后的观察结果可能如下所示 TX PA CA 我希望单元格看起来像这样 TX PA CA 这是我的折叠代码 new df lt group by
  • Terraform 将 2 个变量合并为一个新变量

    我想在具有大量端口组的环境中自动部署 Vmware 虚拟机 为了能够选择正确的端口组 最好输入租户和环境这两个变量 这两个变量用于 CMDB 注册和部署目的 对于部署 需要将变量合并为 1 个新变量以选择正确的端口组 由于插值语法 似乎不可
  • 检测移动到 Mobile Safari 中的新选项卡

    我有一系列打开弹出窗口的页面 Mobile Safari 中的新选项卡 每个弹出窗口都需要知道它们何时获得焦点 在桌面上 我们使用window onblur and window onfocus来驱动这种行为 然而 这些事件在 iPad 上