【问题标题】:Differences between Safari for Windows and Safari for MacWindows 版 Safari 和 Mac 版 Safari 的区别
【发布时间】:2010-09-23 10:12:43
【问题描述】:

从开发人员的角度来看,Mac 版 Safari 和 Windows 版 Safari 有什么区别?

我认为它归结为评估之间的差异(如果我遗漏了什么,请更正):
- 布局渲染
- Javascript 行为

最终决定是:
开发人员能否仅在 Safari Windows 上进行测试(知道我们不能错过重要的错误)?

谢谢, JB

【问题讨论】:

    标签: windows macos testing browser safari


    【解决方案1】:

    就渲染和 JavaScript 而言,没有区别。不同的是用于浏览器本身的底层 UI 库,但页面渲染是相同的。

    【讨论】:

      【解决方案2】:

      Mac 和 Windows Safari 之间的字体渲染可能不同,因为系统通常具有不同的字体。只要您的页面能够优雅地处理丢失的字体或不同的字体大小就可以了。

      【讨论】:

      • 实际上,Apple 将他们的字体渲染引擎移植到了 Windows。所以连字体渲染都是一样的。
      【解决方案3】:

      Safari 和 Windows 之间的样式表渲染有很大不同。要查看这一点,请尝试创建一个包含 z-index 为 -1 的元素的页面。 Windows 版本将正常运行,Mac 版本不允许您选择元素。相信我,我浪费了大约三个小时试图通过反复试验来弄清楚为什么一个页面可以在一个系统中工作而在另一个系统中不能工作。最糟糕的是,当 Safari 无法正确渲染某些内容时,它会在没有任何迹象的情况下这样做。您必须逐行调试,这是一种可怕的体验。

      【讨论】:

        【解决方案4】:

        我还在 CSS 繁重的网站上看到了 Safari for Windows 中不存在于 Mac 版 Safari 中的问题。不记得细节了,但他们在那里。

        【讨论】:

        • 嗯...这被否决了?也许不是真正的答案,但它有有用的评论/见解。如果这是其他人的想法,那么应该添加评论,表明这应该作为评论提交(在可能/适用的情况下)。
        【解决方案5】:

        我目前遇到一个问题,即博客中的浮动图像(带有环绕图像的文本)在 OS X 中无法正确填充;在 Windows 中工作正常。基本上,我添加了填充以使图像向左或向右对齐,以使图像的边缘与帖子文本的边缘具有相同的偏移量;在 OS X 上,图像会超出文本的边缘。

        【讨论】:

          【解决方案6】:

          我现在正在处理的网站在 safari for mac 中存在问题,而 safari 3 或 4 for windows 中没有。我一辈子都想不通。

          【讨论】:

            【解决方案7】:

            从 javascript 调用 java 抛出:

            java.net.MalformedURLException:没有协议:
                在 java.net.URL.(未知来源)
                在 java.net.URL.(未知来源)
                在 java.net.URL.(未知来源)
                在 sun.plugin.liveconnect.SecureInvocation.checkLiveConnectCaller(未知来源)
                在 sun.plugin.liveconnect.SecureInvocation.access$000(未知来源)
                在 sun.plugin.liveconnect.SecureInvocation$2.run(未知来源)
                在 java.security.AccessController.doPrivileged(本机方法)
                在 sun.plugin.liveconnect.SecureInvocation.CallMethod(Unknown Source) 

            在 Safari 窗口而非 Safari mac 上。

            【讨论】:

              【解决方案8】:

              只是想添加我在 Safari 中遇到的这种体验。我们的开发人员仍会对此进行研究,但对我们来说不是高优先级,因为与 Mac 不同,Windows Safari 在我们的用户群中并不多。但我认为这与其中一个(或两者)有关——Apple 对 Safari 的实际浏览器低级实现,和/或 javascript 差异。

              我们的网站最近实施了 HTML5 多文件上传器。单个文件上传在两个版本的 Safari 上都能正常工作。但是当上传多个文件时,它在 Windows 上失败了。我们有两个不同的上传客户端和用于上传者的端点(想想 A/B 测试流程),其中一个提供了更多的细节,这些细节可能会也可能不会指向问题的原因。在客户端和端点之一上,客户端将发送文件名和文件大小的详细信息以上传(作为 JSON 数组对象)到服务器端点(如通过 Web 检查器看到的)。在它工作的 Mac 上,文件大小是有效的,在 Windows 上,它们是 0 字节。

              我认为上传器是基于 JQuery 或其他一些 JS 库的。但我不是开发人员,所以不能确定。但我有一种预感,这个问题超出了 JS 库的范围......

              【讨论】:

                【解决方案9】:

                我在 Windows XP 的 Safari 中遇到了弹出窗口阻止程序的问题。我猜这个拦截器不接受用户点击了一个 Flash 链接,然后触发了一个打开窗口的 JavaScript。不过,它确实在 OS X 中的其他主要浏览器和 Safari 中工作。 Chrome 在 XP 中也阻止了我的窗口,但在 OS X 或 Ubuntu 中没有。

                【讨论】:

                  【解决方案10】:

                  在 Mac Safari 中,我可以使用 file:/// 协议执行跨脚本 ajax,但在 Windows Mac 中,我无法做到这一点。

                  【讨论】:

                    【解决方案11】:

                    我正在开发一个布局非常标准的网站。我有一个包含其他 div 的盒子。它适用于所有主要浏览器,从 IE6+、FF3+ 等。在 OSX 上的 Safari 5 上,该框完全位于左侧,位于我网站的边界之外。在windows的同一个safari版本上,没问题。 我要疯了。

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 1970-01-01
                      • 2011-01-02
                      • 1970-01-01
                      • 2017-12-25
                      • 1970-01-01
                      • 1970-01-01
                      • 2016-11-02
                      • 2017-11-04
                      相关资源
                      最近更新 更多