Questions tagged «safari»

Safari是Apple的网络浏览器,是macOS和iOS上的默认浏览器。

7
Safari忽略tabindex
我在一个文本框旁边有两个按钮,在这两个按钮之后有另一个文本框。第一个文本框的tabindex为1000,第一个按钮为1001,第二个按钮为1002。第二个文本框的tabindex为1003。 当我按tab时,tabindex在Safari以外的所有浏览器中都可以正常工作,尽管Safari浏览器可以正确地将Tabindex从第一个文本框移至第二个文本框,但tabindex设置正确。关于如何预防此问题的任何想法?

8
Chrome,Safari忽略表格的最大宽度
我有这样的HTML代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title></title> </head> <body> <table style="width:100%;"> <tr> <td> <table style="width:100%; max-width:1000px; background:#000099;"> <tr> <td> 001 </td> </tr> </table> </td> </tr> </table> </body> </html> 问题是Chrome和Safari忽略了。"max-width:1000px" 我的朋友发现我们可以通过"display:block"为内部表添加来阻止它,并且某种程度上可以正常工作。 因此,我想知道的是-还有其他方法可以解决此问题,为什么会这样?

13
iOS 7 iPad Safari Landscape内部高度/外部高度布局问题
我们发现在iOS 7中的Safari上高度为100%的Web应用程序出现问题。看来window.innerHeight(672px)与window.outerHeight(692px)不匹配,但仅在横向模式下有效。最终发生的事情是,在高度为100%的应用程序中,您将获得20px的额外空间。这意味着,当用户在我们的应用程序上向上滑动时,导航元素将被拉到浏览器镶边之后。这也意味着,位于屏幕底部的所有绝对定位的元素最终都会偏离20px。 此问题也在此处概述: IOS 7-CSS-HTML高度-100%= 692px 可以在这个模糊的屏幕截图中看到: 我们正在尝试解决此问题,以便在Apple修复该错误之前,我们不必担心它。 一种方法是仅在iOS 7中绝对定位主体,但这几乎将多余的20px放置在页面顶部而不是底部: body { position: absolute; bottom: 0; height: 672px !important; } 我们将非常感谢您提供的有关强制externalHeight匹配innerHeight或对其进行破解以使我们的用户无法看到此问题的帮助。
72 css  ipad  safari  ios7 

12
IFRAME和iPad上的Safari,用户如何滚动内容?
根据Apple iOS的口头禅,应该可以通过用两根手指拖动来滚动IFRAME的内容。不幸的是,在iPad上运行最新版本的iOS,我还没有找到一个具有IFRAME的网站,该网站可以使用此方法进行滚动-也不出现滚动条。 有谁知道用户应该如何使用移动Safari滚动IFRAME的内容?
72 html  ipad  iframe  safari  scroll 

1
localStorage已满时会发生什么?
我找到了文章有关缓存行为的,因此我只能假设它并没有太大区别,但我想确保。 我已经了解到,大多数浏览器的localStorage容量为5MB(允许或占用),我对这些浏览器的行为感兴趣吗? 我了解每种浏览器的行为都不同,但我主要是在Safari,Chrome和Firefox中被吸引(因为我认为这些是浏览器)。 上面提到的浏览器会从我的网站上删除数据还是会选择“最早的”或类似的东西? 在这种情况下可以保存我的物品吗? 最重要的是: 假设我“滥用”了localStorage和我的网站,试图全部使用它,并且在同一页面中,我正在填充它并尝试保存更多内容,我会收到警告,并且在getItem发生这种情况时会返回null以某种方式保存在内存中? 如果我尝试保存大于localStorage大小的项目会怎样? 已回答: 可以在这里找到答案 可以从sessionStorage期待相同的确切行为吗?据称应该相同? 我知道这是很多问题,但是我试图理解与该主题相关的所有内容,对于您可以回答的问题的任何部分,我将深表感谢。 问候。


2
即使设置SameSite = None,Safari也不会发送cookie;安全
我们的应用程序使用cookie来记住用户登录。我们进行的每次auth API调用,浏览器都会将服务器设置的HTTPonly cookie附加到API请求中,并进行身份验证。莫哈韦沙漠(Mojave)发布后,这种行为在野生动物园中似乎已被打破。 我了解了由safari实现的跨站点cookie安全性,并且SameSite=None;Secure在设置cookie时添加了我们的服务器团队。即使在那之后,它仍然不起作用。 Set-Cookie: my_cookie=XXXXX; path=/; secure; HttpOnly; SameSite=None 请提供建议或提供实际找到解决方案的人的链接。

1
在Safari中加载时,加载项在经典模式下无法在Outlook Web App中运行
嗨Office 365(Microsoft 365)团队, 我想在认证过程中寻求您的帮助。我的Outlook加载项通过认证失败,只有一个问题: 1120.3.2.5在线Safari 在Safari(13.1)中加载时,该加载项在现代和经典模式下无法在Outlook Web App中运行 启动时会出现以下错误:“发生了错误,我们无法启动此加载项。请稍后重试或与系统管理员联系。”。 我已经成功测试了该加载项 不同的Safari版本(13.0和13.1),以及 电子邮件帐户(合并Azure Exchange服务器和Outlook Live(@ outlook.hu)) (同样要确保在Chrome中) 在以下URL上: https://outlook.office.com/owa(现代模式) https://outlook.office.com/owa?path=classic(经典模式) 我的加载项的任务面板中应用了Content-Security-Policy规则集(frame-ancestors),该规则集允许将html文件嵌入以下来源: https://outlook.office.com/ https://outlook.office365.com/ https://outlook.live.com/ 您能否确认认证过程使用的是在其中一个域上运行的OWA?(我在日志中找不到任何违反CSP的报告。) 我不知道为什么该加载项在我的计算机上运行但仍未通过认证。 以下堆栈溢出问题可能与以下内容有关: 弄清楚什么是Safari经典模式? Office 365加载项:内容安全策略问题

1
无法使用Safari上的Storage Access API在iframe中设置Cookie
我的页面上有一个iframe。由于Safari阻止了第三方Cookie,我正在尝试使用“开发人员指南”中此处建议的存储访问API:https : //webkit.org/blog/10218/full-third-party-cookie-blocking-and-more /。我从文档中复制了以下代码: <script type="text/javascript"> window.addEventListener('load', () => { document.getElementById('test-button').addEventListener('click', () => { document.hasStorageAccess().then(hasAccess => { console.log('hasAccess: ' + hasAccess); if (!hasAccess) { return document.requestStorageAccess(); } }).then(_ => { console.log('Now we have first-party storage access!'); document.cookie = "foo=bar"; console.log(`document.cookie: ${document.cookie}`); }).catch(_ => { console.log('error'); }); }); }); </script> <button …

2
Safari 13+ iframe阻止CORS Cookie
Safari全面禁止您在与父域不同的域的iframe中设置cookie,这是该死的服务器端CORS标头。 需要说明的是:用户在domainA.com上。domainB.com的iframe已打开,并尝试在iframe中的domainB.com上对用户进行身份验证。Set-Cookie标头是从domainB.com iframe中的服务器返回的,具有所有必需的标头,但Safari不会在后续调用中将其发送回去。 一个旧的解决方法是从iframe提交表单,然后在响应中设置cookie。我猜他们喜欢用户单击某些内容以提交表单的事实。您必须轮询cookie才能看到响应何时返回,因为表单提交没有回调,对于HttpOnly cookie,您不能,但是嘿,它起作用了!直到没有。 然后,最近的解决方法是将用户重定向到全新的窗口/标签中的iframe域,在其中设置随机cookie,从那时起,该子域在iframe中被“信任”。同样,它需要单击以打开新的窗口/选项卡,甚至还可以直观地看到新选项卡的打开。很多安全性,这样的标准。 现在,从Safari 13开始-没有其他解决方法。没有更多安全的iframe cookie设置 🤬 任何其他身份验证方案都不利于我们(例如Auth-X标头)。我们需要使用HttpOnly安全cookie,因为我们不希望该令牌可以以任何方式被javascript客户端访问。 明确地说,所有其他浏览器都可以正常运行。 相关的WebKit Bugzilla 有没有人有什么建议? 编辑: 感谢您提供的链接@tomschmidt,这似乎是正确的方向。我尝试使用Apple的Storage Access API,但不幸的是,尽管我确保在使用API​​初始化登录逻辑之前请求访问权限: requestStorageAccess = async() => { return new Promise(resolve => { //@ts-ignore document.requestStorageAccess().then( function () { console.log('Storage access was granted'); resolve(true); }, function () { console.log('Storage access was denied'); resolve(false); } ); …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.