在 iPhone 上重新打开 Safari 时如何检测焦点?

     2023-03-14     138

关键词:

【中文标题】在 iPhone 上重新打开 Safari 时如何检测焦点?【英文标题】:How to detect focus when reopening Safari on iPhone? 【发布时间】:2012-07-22 10:23:01 【问题描述】:

我有一个适用于 iPhone 的网络应用程序,我需要在网页处于焦点时触发 Javascript 函数,换句话说,当 Safari 打开时。

我想要完成的是在用户单击电话链接并开始通话时以某种方式启动计时器。通话结束时,Safari 再次弹出,计时器结束。

有什么办法吗?

最好的问候

莱纳斯

【问题讨论】:

***.com/questions/4656387/… 可能重复 对于一个好的建议,我们需要更多信息。使用jquery吗?有sencha,jqm等的用法吗?正在使用 phonegap/cordova? @liquid 我正在使用 jQuery 来点击开始通话的链接。没有使用其他框架。我曾尝试使用 $('html').focus() 但它不起作用。 所以你有一个网页,把它放在主屏幕上,用户点击开始通话,你想跟踪时间,然后你想在 safari-browser 中打开页面来显示它。这是正确的吗? @liquid 完全正确。调用后它已经打开了网页,所以我需要的只是触发一个函数,该函数将显示点击链接和页面焦点之间的时间! 【参考方案1】:

试试这个:

如果您触发调用链接,请在 localStorage-item 中设置实际时间。

$("#yourButton").click(function() 

  var actualTime = new Date().getTime();
  window.localStorage.setItem('callStart', actualTime);

)

之后,您需要在用户结束通话后读取存储。 您可以在打开页面的 document.ready 中进行设置。

在 $(document).ready(function() )中

// check for the localStorageItem
if (window.localStorage.getItem('callStart')) 

  // get it
  var timeStart = window.localStorage.getItem('callStart');

  var now = new Date().getTime();

  /*
   Now calculate here the difference now - timeStart
   and you will get seconds, minutes or whatever you want
  */

  // !!! Dont forget to clear the localStorageItem
  window.localStorage.removeItem('callStart');


这是我会尝试的。 HTML5-localStorage 的使用使您可以存储键/值,并且如果用户停止应用或设备自动锁定,数据不会丢失。

希望这会有所帮助。

添加:您甚至可以将 JSON 作为值存储在 localStorageItem 中。因此,您可以为您的用户设置一个 callID 并实现一个呼叫历史记录。

【讨论】:

打开自定义创建的 .ics 文件时,Iphone 中 safari 的奇怪行为

】打开自定义创建的.ics文件时,Iphone中safari的奇怪行为【英文标题】:StrangebehaviouronsafariinIphonewhenopeningcustomcreated.icsfile【发布时间】:2018-05-0208:34:05【问题描述】:我正在使用javascript创建自定义.ics文件。当我尝试在我的桌面... 查看详情

在 iOS 9 Safari 上打开 Bootstrap 模式时屏幕放大

】在iOS9Safari上打开Bootstrap模式时屏幕放大【英文标题】:ScreenzoomsinwhenaBootstrapmodalisopenedoniOS9Safari【发布时间】:2015-12-1700:13:58【问题描述】:当我在iOS9Safari上打开Bootstrap3模式时,屏幕会放大。它在iPhone上的Chrome应用程序上按... 查看详情

如何在 iPhone 模拟器上打开位置检测

...任何位置。我尝试清理应用程序,然后在模拟器中删除并重新安装它,然后退出所有内容并重新启动计算机。该应用 查看详情

如何在 safari 浏览器中直接打开 webapp?

】如何在safari浏览器中直接打开webapp?【英文标题】:Howtoopenwebappdirectlyinsafaribrowser?【发布时间】:2017-03-0612:33:46【问题描述】:我有网站,我在iPhone中添加到主屏幕,但是当我点击我网站的某个链接时,它会在Safari浏览器中打... 查看详情

如何强制 Safari 重新绘制位置:滚动上的固定元素?

】如何强制Safari重新绘制位置:滚动上的固定元素?【英文标题】:HowtoforceSafaritorepaintposition:fixedelementsonscroll?【发布时间】:2014-05-1514:21:07【问题描述】:我在桌面和移动设备上使用Safari时遇到问题,当用户滚动时,使用positio... 查看详情

pkpass 文件在 Safari Mac 中打开但在 iPhone 上不打开

】pkpass文件在SafariMac中打开但在iPhone上不打开【英文标题】:pkpassfileopeninSafariMacbutnotoniPhone【发布时间】:2021-02-0217:29:15【问题描述】:我成功创建了一个通行证,它在我的MacBookSafari浏览器上正常打开,但是,当我尝试在我的... 查看详情

iPhone 没有出现在 Safari 的“开发”菜单中

...iPhone不再出现,因此无法检查和调试网站和应用程序。我重新启动了iPhone,杀死并重新启动了Safari,也重新启动了我的Mac,但问题仍然存在。影响Sa 查看详情

网站在 iOS 的 Safari 上崩溃

....1的iPhone6上崩溃。如何重现错误:用iPhone6(或iPhone6Plus)打开网站:http://www 查看详情

如何在 swift 3 中重新加载表视图上的数据而不会崩溃?

】如何在swift3中重新加载表视图上的数据而不会崩溃?【英文标题】:howtoReloaddataontableviewwithoutcrashinginswift3?【发布时间】:2017-06-2005:45:18【问题描述】:我的应用程序中有一个TableView,当用户点击其中一个单元格中的按钮时,s... 查看详情

在 iPhone 上打开 .webarchive?

】在iPhone上打开.webarchive?【英文标题】:Opena.webarchiveontheiphone?【发布时间】:2008-10-2213:23:16【问题描述】:有谁知道您是否可以在iPhone上以编程方式打开.webarchive?.webarchive是Safari将网页及其相关资源打包到单个文件中的方式... 查看详情

iphone facebook login safari 无法打开页面

】iphonefacebookloginsafari无法打开页面【英文标题】:iphonefacebookloginsafaricannotopenthepage【发布时间】:2012-12-2711:42:57【问题描述】:我正在尝试集成facebooksdk3.1.1,我在验证时遇到问题,当我在safari中授权应用程序时,它显示“无法... 查看详情

如何阻止monodevelop在调试时打开safari窗口?(代码片段)

在我调试网站时,有没有办法让MonoDevelop不打开Safari(或其他浏览器)窗口?我仍然希望它启动XSPWeb服务器,并进入调试模式。原因是因为我正在从另一个位置调试服务器代码,我不想一遍又一遍地关闭无用的浏览器窗口。答案... 查看详情

如何从磁盘加载的 JS 在 Mobile Safari 中打开数据库

】如何从磁盘加载的JS在MobileSafari中打开数据库【英文标题】:HowtoopenDatabaseinMobileSafarifromJSloadedfromdisk【发布时间】:2010-12-0322:32:12【问题描述】:我们有一个iPhone应用程序,它本质上是一个封装在应用程序中的网站。这个应用... 查看详情

如何查看iphone6的safari版本号

在Safari浏览器中,点击顶部的地址栏,可以直接输入想要打开的网址,也可以在选择导航栏中的面面。在这里可以直接选择打开我们事先放到Safari个人收藏中的网址,非常的方便。在Safari浏览器的底部有多个功能选项,是“分享... 查看详情

如何使溢出自动在 Safari 上工作

】如何使溢出自动在Safari上工作【英文标题】:HowtomakeoverflowautoworkingonSafari【发布时间】:2017-12-2222:18:01【问题描述】:我尝试了许多浏览器,Firefox、Safari、IE10、Android设备,都运行良好。但是当它变成iOS设备时,比如iPad、iPhon... 查看详情

如何强制 Instagram 在 Safari 而不是应用内浏览器中打开链接

】如何强制Instagram在Safari而不是应用内浏览器中打开链接【英文标题】:HowtoforceInstagramtoopenalinkinSafariratherthantheinappbrowser【发布时间】:2017-09-1401:10:21【问题描述】:Instagram添加了一个应用内浏览器,在打开链接时会自动使用该... 查看详情

如何在移动 Safari 中播放视频

...视频标签在iphone浏览器中重现mp4视频,但它总是在iphone上打开视频播放器。有没有办法在浏览器中播放视频?<videosrc="http://video-js.zencoder.com/oceans-clip.mp4 查看详情

为啥当我在 iOS 上滑动时,Safari 会重新加载页面?

】为啥当我在iOS上滑动时,Safari会重新加载页面?【英文标题】:WhydoessafarireloadthepagewhenIswipebackoniOS?为什么当我在iOS上滑动时,Safari会重新加载页面?【发布时间】:2019-03-1408:16:01【问题描述】:我正在使用Django构建网页。当... 查看详情