当我打开带有var win = window.open("", "name")的新窗口时,然后使用win.focus()将窗口集中在iOS Safari中首次有效. 但是,当使用窗口再次通过名称引用现有窗口时.开放我不能再次集中在ios Safari中.在Chrome中,这很好. 有什么办法只知道名称,我如何专注于已经存在的选项卡? 我创建了一个用于测试的小提琴: 解决方案 这似乎是iOS Safari中的错误. 通常,不可能再次将重点设置在现有的命名选项卡上.当打开选项卡之后,再次单击了带有目标设置到名称的链接 - >请参见Test 因此,我在Apple开了一个错误报告. 其他解决方案 直到Apple修复错误,您可以使用以下解决方法: // replace win.focus() by: win.close(); win = win.open
以下是关于 safari 的编程技术问答
我正在尝试为移动设备和桌面设备实现无限滚动下拉列表.在" Infinity Scroll"下,我的意思是以下内容 - 如果您有100个记录,当到达可滚动容器的末端时,将加载20个新记录,并且前20个记录将隐藏起来(向后方向相同) 我遇到以下问题: 除了Safari Mobile浏览器(iPhone,iPad等),所有内容在移动Android Chrome浏览器 +桌面浏览器中完美工作. 我尝试了以下解决方案: 在整个滚动处理程序功能中添加了lodash debounct/throttle函数,这无济于 我尝试使用ISCroll,但遇到了与此处相同的问题 + IsCroll scrollto()方法的其他错误. requestAnimationFrame() - 没有任何成功. 这是我的示例项目: 滚动处理程序功能代码: function scrollHandler(e) { var top = $(this.$refs.dropdow
由于Apple通过 在没有用户互动的JavaScript中,我不确定当用户在加载后与DOM交互之前,我应该如何播放声音. socket.on("receive message", data => { const receiveSound = new Audio("1.mp3"); messages.push(data); receiveSound.play(); }); 我尝试在mousemove事件上播放音频元素.我还尝试通过React Ref上的元素伪造A click(),以最初激活它.解决方案都没有起作用. 如果有消息传来,有没有办法自动播放音频元素?必须有可能,因为YouTube可以无需互动即可自动播放视频. 每次尝试播放音频时,我都会得到此错误: Unhandled Rejection (NotAllowedError): The request is not allowed by the user agent or the platfo
我已经注意到我以自动播放模式设置的视频,请勿在iPhone iOS上工作14.2 在此版本之前,一切都很好. 有人知道答案以及如何解决此问题吗? 也许有一种方法可以在Safari(iOS 14.2)上自动播放视频. 解决方案 playsinline还需要设置iOS 15中的muted和autoplay. 其他解决方案 我有一些自动播放视频,并且它们在iOS 14.2上仍处于正常状态. 这是我正在使用的代码,只要它静音就可以正常工作. Sorry, your browser does not support HTML5 video. 其他解决方案 iOS Safari 14.2上的视频自动播放HTML仅适用
使用iOS 15,苹果也可以为iOS创建Safari扩展名. 目前,我正在将现有的MacOS Safari扩展程序带到iOS. 我的问题是,似乎没有选择将消息从主机应用发送到扩展名的选项.可以通过 beginRequest(with:)功能.但是,我需要在用户操作后积极向扩展发送消息.在MACOS中,可以通过此处描述的dispatchMessage(withName:toExtensionWithIdentifier:userInfo:completionHandler:)函数来完成:非常感谢任何解决此问题的想法. 解决方案 您可以在Safari扩展名的清单文件中启用权限[" nativemessging"] 使用AppGroup在扩展名和应用程序之间存储数据. 在SafariwebextensionHandler中,您可以将AppGroup数据响应到来自任何扩展名JavaScript文件的消息.
我试图在iPhone和iPad上调试我的网站(常规网站,在Safari上,而不是独立应用程序). 我在iPhone和iPad上启用了Web检查器. 然后,我将它们连接到我的Mac,然后在Mac的Safari中出现在Safari的开发菜单中. 但是,当我查看子菜单时,它显示了"启用设备上的Web检查器".因此,我返回iPad/iPhone上的设置,并禁用,然后重新启用Web Inspector.菜单(在Mac上)切换到"无检查的应用程序",然后几秒钟后切换回"启用Web Inspector在设备上". 如何使开发人员工具工作? 解决方案 No inspectable applications 就我而言,当我在iPhone屏幕上拥有不同的应用程序(如偏好)时.当我回到移动野生动物园时,一切都很好;)
我使用此功能检测iOS export function isiOS() { return navigator.userAgent.match(/ipad|iphone/i); } 有什么方法可以使其检测到ios13+?谢谢 为什么我需要它?通常,iOS Safari无法下载文件,因此以使图像可下载,我应该将其渲染为 然而,在Android/PC上,几乎可以通过 直接执行此操作 因此,用户只需按图像并下载.打开ios13现在第二个选项可行,而第一个选项不再是. 解决方案 我想建议您不要从用户代理检测操作系统或浏览器,因为它们容易更改比API更改,直到可靠的稳定标准API土地.我不
据说iOS 11.4将支持PWA,但事实并非如此. 问题:今天iOS 12发布,苹果在第12版的iOS中支持PWA吗? (例如添加到主屏幕) 解决方案 PWA是一个复杂的功能集合.苹果在2018年3月在iOS 11.3中添加了对某些PWA特征的初步支持.您可以在此处阅读一个非常好的解释,其重大局限性: iOS上的渐进式网络应用在这里 不幸的是,iOS 12.0似乎并没有以任何重要的方式改善支持. Sep2019 Update :iOS 13.0在这里,并在此方面进行了许多有关PWA,新安装UI和其他内容的错误修复.但仍然没有推动通知: https://medium.com/@firt/iphone-11-ipados-and-ios-13-for-pwas-pwas-and-web-development-5d5d9071cc49 Mar2019 Update :这是iOS 12.2稳定中PWA支持的确定状态.它正在改善,但仍然是一段漫长的旅程: http
我已经在我的iOS 8应用程序中设置了共享扩展名,并且一切正常.我可以从照片应用程序或Safari分享.但是,当我在野生动物园时,我不知道如何获取网页的生成的缩略图.我已经注册了适当的nsextensivativativationrule.当我分享照片应用中的照片时,NSITEMPROVIDER对象类型说这是public.jpeg,我可以使用 [itemProvider loadItemForTypeIdentifier:(NSString *)kUTTypeImage options:nil completionHandler:^(UIImage *image, NSError *error) { [self.extensionContext completeRequestReturningItems:@[] completionHandler:nil]; }]; 为了获得图像 但是,当我从Safari分享时,Nsitemprovider类型说这是pu
我想在我的Swift 3应用程序上打开Safari集成的本地HTML文件. 我知道如何使用URL执行此操作.这是我用来这样做的代码: let encodedString = url.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) let svc = SFSafariViewController(url: NSURL(string: encodedString!) as! URL) self.present(svc, animated: true, completion: nil) ,但我无法使用本地文件做同样的事情.我已经在项目上复制了HTML文件,并且可以在目录树上看到它,但我无法使其工作.我看过使用Swift swift 将本地HTML加载到UIWebView中. 如何将本地HTML文件加载到Safari集成中? 预先感谢! 解决方案 您不能使用 em> 来自Ap
我们很惊讶我们在网上任何地方都没有发现任何提及,所以我们在这里发布,希望我们找到一个解决方案. 使用移动野生动物园使用iPhone是当我们碰到以下2个易于遵循的测试的问题时,一项工作,一项不做. 这是链接 这是我们运行的两个测试(均在链接中列出),一个在不处于PWA模式时起作用,而另一个在PWA模式下失败. 测试#1:完美工作(预期行为) Visit https://pwa-react.netlify.com/ from iPhone in mobile safari 1. Make sure you have google drive on the phone but not logged in. 2. Click "Choose File". It will show you the list of options to choose from. 3. Click "Browse" to look for the photo. 4. Click "Cancel
我将iPhone连接到Mac,并在iPhone Advanced设置中启用了Web Inspector,能够在Mac Safari中看到该页面,但无法在Safari中检查任何元素及其样式.我没有看到元素面板或样式面板. 任何人都可以帮助我找到这些面板来调试样式,我将其应用于我在iPhone中测试的页面元素.我可以在调试桌面野生动物园页面时看到这些面板.请参阅屏幕截图 事先感谢您的任何帮助. 解决方案 答案是,需要从屏幕截图中从下拉列表中选择DOM树.其他解决方案 如果这种类型的问题在2021年发生在您身上,请下载并使用 safari"> safari "> safari预览而不是常规的野生动物园 我有以下配置的问题: MacOS Big Sur 11.4 iPhone 10 iOS 14.6 欢呼! 其他解决方案 2021年7月更新: 是的,使用Safari Technology Preview的另一个答案也对我有用: https:
我有一个datepicker,它正在返回一个始终在UTC时区中的矩对象.我需要在此日期做一些逻辑,但始终希望在用户本地时区中使用它,因此我做了以下操作: //strip submission date of timezone offset let submission_date = moment(this.state.startDate).format('YYYY-MM-DD hh:mm:ss a'); submission_date = moment(submission_date); let last_date = this.last_date.diff(submission_date, 'days'); 但是,当我这样做时,我的iPhone抱怨submission_date不是有效的日期.桌面很好,所以我猜这是一个野生动物园问题.当我在瞬间之前检查this.state.startDate时,它是2018-11-01T17:52:44-00:
我正在尝试获取iOS Safari上支持的语音综合声音列表. 根据API,我应该能够通过致电以下声音来获得一系列声音: window.speechSynthesis.getVoices(); 有时这给了我声音列表,而有时则没有.请参阅以下jsfiddle: https://jsfiddle.net/sq7xf327/ 如果我在iPhone 5(iOS 8.1.3)上打开它,我将无法获得一致的结果.有时我会回到所有37个声音,而其他时候我会回来0声音.如果您继续刷新,它会偶尔显示37或0. 我知道,在Chrome中,您可以将活动听众添加到 window.speechSynthesis.voiceschanged 事件要知道何时加载声音,但是在Safari中不支持此事件. 我尝试过的一个技巧是定期检查: var timer = setInterval(function () { window.voices_ = window.spe