Tag: 移动Safari浏览器

Bootstrap Popover在iOS / Safari上触发焦点触发器不可用

我在type="submit"的<button>元素上实现了一个可用的popup窗口,用于表单。 正如Bootstrap文档清楚地指出的那样: 使用focus触发器closures用户下一次点击的popup。 对于正确的跨浏览器和跨平台行为,您必须使用<a>标记, 而不是 <button>标记,还必须包含role =“button”和tabindex属性。 http://getbootstrap.com/javascript/#popovers-examples 但是popup窗口可以通过使用hover触发器的用户的下一次点击来变暗。 我没有使用<a>元素的选项,因为<button>对应于表单提交(长代码块的道歉): <button data-placement="top" data-toggle="popover" data-trigger="hover" title="placeholder text" data-content="placholder text" type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="btn btn-block btn-success marg-bot-20">Subscribe to Best Hot Tub Updates <i class="fa fa-envelope"></i></button> 问题是在这里,popup窗口是允许的iOS移动设备使用Safari浏览器。 使用<button>之后,如果用户点击页面上的其他位置或popup窗口本身,popup窗口不会被忽略。 这掩盖了表单元素(防止被查看),因此需要修复: 是否有某种forms的解决方法或修复我可以在这里应用,以允许在iOS / Safari浏览器上点击或在网页上的其他地方(Chrome浏览器的默认行为)允许popup窗口,同时保留使用<button>元素表单function? 这个问题可以在这里的开发网站上查看: http://www.the-session.co.uk/dev_standalone/

强制URL在Web Clip中打开(如果已安装)?

比方说,我有一个Web应用程序,通过自定义URLscheme调用本地应用程序,并在本机应用程序完成它的事情后,通过打开callbackURL返回到我的Web应用程序。 这一切工作正常,当我的networking应用程序在Safari中运行。 但是,如果用户将Web应用程序保存到主屏幕(创build“Web剪辑”)会发生什么? 在这种情况下,它运行在一个单独的进程,从常规的safari,并有单独的cookie和caching。 所以,当原生应用程序试图返回到networking应用程序,url可能会被Safari打开,而不是Web Clip,会话将会丢失。 (而不仅仅是会话 – 所有的页面状态,在一个丰富的基于JavaScript的networking应用程序可以是很多东西,而不是平凡的启动时间。) 这个假设是正确的吗? 如果是的话,有没有办法解决呢? 有没有办法让iOS试图打开带有网页剪辑的URL?

iOS中的textarea上的Shadow DOM强制填充

我遇到一个使我困惑的问题。 我对这个问题的参考是Mac上的Chrome 32和iOS 7.0.4上的Safari。 在以下示例中,Chrome将.background和textarea元素中的文本呈现完美并相互.background ,这就是我想要的。 iOS上的Safari,用3个像素单位来抵消textarea中的textarea 。 虽然填充,边框和边距在这两个元素上都设置为相同的值,但发生这种情况。 当我在Safari的开发者工具中进行debugging时,无论是通过我的iPhone设备还是iOS模拟器,在概述元素指标时,元素本身都是完美alignment的。 标记 <div class="container"> <div class="background">This is a test</div> <textarea>This is a test</textarea> </div> CSS .container { border: 1px solid #cdcdcd; background: #f0f0f0; width: 400px; height: 50px; position: relative; margin: 24px 0; } .background { position: absolute; top: 0; right: 0; bottom: 0; left: 0; color: […]

将UIWebView限制到特定的URL(Swift)

我试图开发一个iOS应用程序,其特点是在Swift中的UIWebView,但是我需要它只与一个域一起工作,并且任何外部链接点击在该UIWebView中打开Safari。 (EG所有到http://example.com链接都将在UIWebView中打开,但是在http://twitter.com的链接将在Safari中打开)。 我在网上find了一些解决scheme,但唯一的Swift版本(在这里find: Safari中的UIWebView打开链接 )可以打开Safari中的每一个链接,我只是想让外部的链接去做。 谁能帮忙? 谢谢。

使用javascript或url在iPhone上检测安装的应用程序

我正在为iPhone构build一个基于HTML5的移动Web应用程序。 我需要检查用户是否有我build议的具体应用程序。 我听说每个iPhone应用程序都有唯一的URLscheme来检测他们的应用程序的身份。 因此,我读过这篇文章来获得一个想法。 是否有可能注册一个基于http +域名的iPhone应用程序的URL计划,如YouTube和地图? 但是,这不是完美的答案,使我想要做的。 这里是可能发生的事情 用户点击移动网页浏览器上的推荐应用程序。 使用应用程序的iTunes URL和URLscheme进行检查。 如果用户安装了应用程序,则返回“installed”==>在这种情况下,屏幕返回到手机浏览器。 如果用户没有安装应用程序,则返回“uninstalled”==>在这种情况下,屏幕将移至App Store。 我使用PHP语言运行移动Web应用程序。 谢谢。

重点放在iOS 6 Safari的input字段和方向变化上

编辑 :我想这个问题在Stackoverflow是有关这个问题。 编辑 :问题只发生在保存到主屏幕不在浏览上下文。 注意 :关于缩放和方向转换的一切都按预期工作,直到任何input元素被聚焦为止。 我有一个Web应用程序,以下元标记为视口设置: <meta name="viewport" content="user-scalable=no, width=1024"> 一切都很好的方向转换。 但是,只要input字段被聚焦,缩放级别就会混乱。 我已经尝试了几种不同的方法来解决问题,但是卡住了。 这是什么时候input是重点,我们触发一个orientationchangechange: 从纵向到横向页面缩小,并不填充整个视口。 在这种模式下,如果我们把注意力集中在一个input元素上,它会放大并在横向模式下看起来不错,但是如果我们再次旋转它,就会出现与2相同的问题。 从横向到纵向页面放大并覆盖视口以上。 我们尝试过的东西: 视口的元标签设置(初始缩放,最大缩放,最小缩放) 删除了视口标签 在JavaScript中处理方向更改,并在orientationchange上dynamic设置新的视口设置 试图计算比例级别(document.documentElement.clientWidth / window.innerWidth)onorientationchange 将input字段的字体大小设置为至less16px 我有点卡在这里,我敢肯定,我失去了一些obviuos所以问题是:我如何确保iOS Safari中的缩放级别是与input前焦点相同的后input焦点?

奇怪的iPhone 4 Safari水平空白

在几台设备上testing我的网站的移动版本时,我注意到一个非常奇怪的行为。 我有一个可滚动的内容div与overflow: auto ,这适用于所有的testing设备,除了iPhone上的Safari 4。 其他浏览器和设备正确显示,甚至iPhone 5 Safari。 在iPhone 4 Safari上,当滚动到内容的末尾时,底部会出现很多额外的空白(看起来像100-200%的额外高度),滚动时文本消失。 这在Safari中的其他设备上不会发生,在iPhone 4上的其他浏览器中也不会发生。 有没有人听说过这种现象? 我完全不知道是什么原因导致这种行为或如何解决这个问题。 由于我只能访问有限数量的设备进行testing,因此我可能会忽略出现此问题的其他设备/浏览器。 如果您有移动设备,并且想要testing它 ,则实时网站位于以下位置: 实时网站 。 在移动主页上,点击其中一个徽标以展开内容,然后尝试向下滚动。 请将您的结果发布在评论中。 向下滚动(无问题)时,iPhone 5 Safari上的外观如何: 图像 向下滚动(问题)时,iPhone 4 Safari上的外观如何: 图像

iPad Safari Web Inspector在页面加载时崩溃

我有一个在WordPress的video聚焦的网站。 当我们去testingiPad上的网站时,我们将它连接到一台mac笔记本电脑,并打开safari开发者工具来检查是否有任何错误。 一切工作在我们的主页,但当我们去任何video文章,我们已经添加,它崩溃的开发工具窗口,iPad上的浏览器有一个下拉的顶部说:“这个网页发生问题,所以它被重新加载”。 在iPad上的页面没问题,我们的日志中没有任何PHP错误,一切工作正常,所以我不知道什么是崩溃它。 有任何想法吗? 任何方式我可以解决这个问题? 在此先感谢:)让我知道如果你需要更多的信息!

未调用Safari的window.matchMedia处理程序

发生afterPrint时,我需要执行doSomethingFunc 。 我的代码在所有浏览器上工作正常,除了当前的Safari版本(OSX上的Safari 10.1和iOS 10.3上的Safari浏览器)。 看来,事件监听器(至less对于打印)不被称为这两个浏览器。 const mediaQueryPrint = window.matchMedia('print'); mediaQueryPrint.addListener((mql) => { if (!mql.matches) { setImmediate(doSomethingFunc); } }); window.print(); 上面的代码完全适用于OSX Safari 9.1.2和iOS 10.2的Safari。 但不是与当前的版本。 有人注意到类似的东西吗? 或者我必须改进我的代码为当前的Safari版本? 我的猜测是,这是一个Safari错误,因为在Safari 10.1 更改日志章节Accessability中有相应的注释。

内容拦截器在模拟器中工作,但不适用于iPhone设备

我正在研究内容拦截器,并阻止成人的网站,所以,这个代码是完美的工作在模拟器上,当我在iPhone 6上testing,然后它的没有一个网站是块 Alamofire.request(url).responseJSON { response in if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) { print("Data: \(utf8Text)") self.containerURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.domainName.contentBlocker") let path = self.containerURL?.appendingPathComponent("blockerList.json") self.text = utf8Text.description do { try self.text.write(to: path!, atomically: true, encoding: String.Encoding.utf8) }catch{ print(error) } print(path) } } 然后在扩展处理程序文件上加载数据。 提前致谢。