从开发人员的角度来看,Mac 版 Safari 和 Windows 版 Safari 有什么区别?
我认为它归结为评估之间的差异(如果我遗漏了什么,请更正):
- 布局渲染
- Javascript 行为
最后要做的决定是:
开发人员能否仅在 Safari Windows 上进行测试(知道我们不能错过重要的错误)?
谢谢,JB
就渲染和 JavaScript 而言,没有区别。不同的是用于浏览器本身的底层 UI 库,但页面渲染是相同的。
Mac 和 Windows Safari 之间的字体渲染可能不同,因为系统通常具有不同的字体。只要您的页面可以优雅地处理丢失的字体或不同的字体大小,它应该没问题。
Safari 和 Windows 之间的样式表呈现显着不同。要查看这一点,请尝试创建一个包含 z-index 为 -1 的元素的页面。Windows 版本将正常运行,Mac 版本不允许您选择元素。相信我,我浪费了大约三个小时试图通过反复试验来弄清楚为什么一个页面可以在一个系统中工作而在另一个系统中不能工作。最糟糕的是,当 Safari 无法正确渲染某些内容时,它会在没有任何迹象的情况下这样做。您必须逐行调试,这是一种可怕的体验。
我还在 CSS 繁重的网站上看到了 Safari for Windows 中不存在于 Mac 版 Safari 中的问题。不记得具体的,但他们在那里。
我目前遇到一个问题,即博客中的浮动图像以及围绕图像的文本无法在 OS X 中正确填充;在 Windows 中工作正常。基本上,我添加了填充以使图像向左或向右对齐,以使图像的边缘与帖子文本的边缘具有相同的偏移量;在 OS X 上,图像会超出文本的边缘。
我现在正在处理的网站在 safari for mac 中存在问题,而 safari 3 或 4 for windows 中没有。我这辈子都想不通。
从 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(未知来源)
在 Safari 窗口上,但不是 safari mac。
只是想添加我在 Safari 中遇到的这种体验。我们的开发人员仍会对此进行研究,但对我们来说不是高优先级,因为与 Mac 不同,Windows Safari 在我们的用户群中并不多。但我认为它与其中一个(或两者)有关——Apple 对 Safari 的实际浏览器低级实现,和/或 javascript 差异。
我们的网站最近实现了一个 HTML5 多文件上传器。单个文件上传在两个版本的 Safari 上都能正常工作。但是当上传多个文件时,它在 Windows 上失败了。我们有两个不同的上传客户端和用于上传者的端点(想想 A/B 测试流程),其中一个提供了更多的细节,这些细节可能会也可能不会指向问题的原因。在其中一个客户端和端点上,客户端会将要上传的文件名和文件大小的详细信息(作为 JSON 数组对象)发送到服务器端点(如通过 Web 检查器所见)。在它工作的 Mac 上,文件大小是有效的,在 Windows 上,它们是 0 字节。
我认为上传器是基于 JQuery 或其他一些 JS 库的。但我不是开发人员,所以不能确定。但我有预感这个问题超出了 JS 库......
我在 Windows XP 的 Safari 中遇到了弹出窗口阻止程序的问题。我猜这个拦截器不接受用户点击了一个 Flash 链接,然后触发了一个打开窗口的 JavaScript。不过,它确实在 OS X 中的其他主要浏览器和 Safari 中工作。Chrome 在 XP 中也阻止了我的窗口,但在 OS X 或 Ubuntu 中没有。
在 Mac Safari 中,我可以使用 file:/// 协议执行跨脚本 ajax,但在 Windows Mac 中,我无法做到这一点。
我正在一个具有非常标准布局的网站上工作。我有一个包含其他 div 的盒子。它适用于所有主流浏览器,从 IE6+、FF3+ 等。在 OSX 上的 Safari 5 上,该框完全位于左侧,位于我网站的边界之外。在windows的同一个safari版本上,没问题。我要疯了。