在iOS Safari中,$window.focus()对现有标签不起作用
当我打开带有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
0 2023-06-03
编程技术问答社区
iOS-为Safari的 "打开方式 "添加菜单项
我是iOS开发的新手 - 如何创建一个野生动物园扩展程序,该扩展名在"打开"菜单(我可以在页面上添加书签的同一菜单)中添加了新项目?我想分享用户当前正在使用第三方应用程序查看的页面URL. 谢谢 解决方案 假设您正在使用Xcode,请转到您的项目设置,然后选择目标.在"信息"选项卡中,您将添加一种文档类型,将其(DOC,XLS,TXT等)与您的应用程序相关联.如果您在Safari中打开该物品,将为您提供在应用程序中打开它的选项.在最近版本的移动野生动物园中,我相信在文档的顶部出现了一个栏,向您提供此选项,而不是出现在"添加书签"弹出案中. 这是一些详细信息.
2 2023-06-02
编程技术问答社区
如何检测Safari处于阅读模式?
我希望能够从JavaScript中通知Safari处于reader模式时通知.是否有浏览器或标志集发射的事件? 这个问题与iPhone,iPad和OSX有关. 解决方案 它在location.protocol中. 在Safari上是: safari-reader: Firefox: about: 不确定在铬上是什么,但您明白了.
0 2023-06-02
编程技术问答社区
如何在iOS设备中去掉或节制滚动事件(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
8 2023-06-02
编程技术问答社区
在Safari上允许聊天应用程序的音频.播放()。
由于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
2 2023-06-02
编程技术问答社区
在iOS/Safari上不允许焦点触发的Bootstrap Popover bug
我已经在元素上实现了可忽略的弹出声,type="submit"用于表格. bootstrap文档明确指出: 使用focus触发器在下一次点击中删除弹出案 用户制造 对于适当的跨浏览器和跨平台行为,您必须使用 标签, 标签,您还必须包括 角色=" button"和tabindex属性. 但是,使用hover触发器的用户下一次单击可以尺寸弹出.我没有使用元素作为对应于表单提交的选项(对长代码块表示歉意):
0 2023-06-02
编程技术问答社区
在Safari中检测iOS的初始设备方向
我知道如何检测设备方向更改在Safari中的iOS上,但我无法理解如何在加载页面时如何检测初始方向. 很容易检测设备是否处于肖像或景观模式 - 只需将窗口宽度分开,并将结果与​​1进行比较. .有办法做到吗? (我为什么需要它?因为加速度计数据不与屏幕打开时不会与屏幕翻转.因此,代码必须知道当前方向以正确处理加速度计数据.) 解决方案 您可以在页面加载上检查窗口.
6 2023-06-02
编程技术问答社区
Safari 14.2上的自动播放视频HTML
我已经注意到我以自动播放模式设置的视频,请勿在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仅适用
10 2023-06-02
编程技术问答社区
Safari扩展iOS-从应用到扩展的信息传递
使用iOS 15,苹果也可以为iOS创建Safari扩展名. 目前,我正在将现有的MacOS Safari扩展程序带到iOS. 我的问题是,似乎没有选择将消息从主机应用发送到扩展名的选项.可以通过 beginRequest(with:)功能.但是,我需要在用户操作后积极向扩展发送消息.在MACOS中,可以通过此处描述的dispatchMessage(withName:toExtensionWithIdentifier:userInfo:completionHandler:)函数来完成:非常感谢任何解决此问题的想法. 解决方案 您可以在Safari扩展名的清单文件中启用权限[" nativemessging"] 使用AppGroup在扩展名和应用程序之间存储数据. 在SafariwebextensionHandler中,您可以将AppGroup数据响应到来自任何扩展名JavaScript文件的消息.
12 2023-06-02
编程技术问答社区
无法在iPad或iPhone上访问网络检查器
我试图在iPhone和iPad上调试我的网站(常规网站,在Safari上,而不是独立应用程序). 我在iPhone和iPad上启用了Web检查器. 然后,我将它们连接到我的Mac,然后在Mac的Safari中出现在Safari的开发菜单中. 但是,当我查看子菜单时,它显示了"启用设备上的Web检查器".因此,我返回iPad/iPhone上的设置,并禁用,然后重新启用Web Inspector.菜单(在Mac上)切换到"无检查的应用程序",然后几秒钟后切换回"启用Web Inspector在设备上". 如何使开发人员工具工作? 解决方案 No inspectable applications 就我而言,当我在iPhone屏幕上拥有不同的应用程序(如偏好)时.当我回到移动野生动物园时,一切都很好;)
8 2023-06-02
编程技术问答社区
如何检测JavaScript上的iOS 13?
我使用此功能检测iOS export function isiOS() { return navigator.userAgent.match(/ipad|iphone/i); } 有什么方法可以使其检测到ios13+?谢谢 为什么我需要它?通常,iOS Safari无法下载文件,因此以使图像可下载,我应该将其渲染为 然而,在Android/PC上,几乎可以通过 直接执行此操作 因此,用户只需按图像并下载.打开ios13现在第二个选项可行,而第一个选项不再是. 解决方案 我想建议您不要从用户代理检测操作系统或浏览器,因为它们容易更改比API更改,直到可靠的稳定标准API土地.我不
10 2023-06-02
编程技术问答社区
支持IOS 12 PWA
据说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
4 2023-06-02
编程技术问答社区
iOS 8分享扩展Safari图片
我已经在我的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
6 2023-06-02
编程技术问答社区
如何在Safari浏览器上打开本地html文件?
我想在我的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
0 2023-06-02
编程技术问答社区
React PWA在移动Safari中断应用中上传图片?
我们很惊讶我们在网上任何地方都没有发现任何提及,所以我们在这里发布,希望我们找到一个解决方案. 使用移动野生动物园使用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
0 2023-06-02
编程技术问答社区
调试iPhone时,Safari Web Inspector不显示元素和样式面板
我将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:
2 2023-06-02
编程技术问答社区
为什么iPhone的iOS系统显示momentjs的无效日期?
我有一个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:
4 2023-06-02
编程技术问答社区
网络语音API: 始终如一地在iOS safari上获得支持的语音合成的声音
我正在尝试获取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
2 2023-06-02
编程技术问答社区