在Windows系统上测试safari浏览器的兼容性
文章目录
- 前言
- 手机端的safari浏览器能替代PC端吗
- 在Windows上测试safari浏览器的兼容性的方法
- 利用云服务
- 使用虚拟机
- 在Windows上下载虚拟机
- 遇到的问题以及解决思路
- 总结
前言
在测试网站的兼容性时需要用到safari浏览器,在没有Mac的情况下,又不想麻烦同事,那该怎样在Windows系统上使用safari浏览器呢?
手机端的safari浏览器能替代PC端吗
答案是不能,主要是因为以下几点:
屏幕尺寸:iPhone的屏幕比大多数Mac的屏幕要小得多,且具有不同的纵横比。因些网页的布局和可用空间会有所不同,需要进行响应式设计测试。触摸与鼠标操作:iPhone上的Safari是为触摸操作优化的,而Mac上的Safari支持鼠标和触控板手势。这可以影响页面元素(如按钮、链接)的行为以及用户界面组件的交互方式。
eg:一个网站有一个导航菜单,包含多个下拉选项。在Mac的Safari上,测试者发现下拉菜单在鼠标悬停时正常显示,所有选项都能点击,并且看起来没有问题。
由于iPhone是通过触摸操作,用户点击菜单后,下拉选项可能并不会如预期显示出来。以下是具体的bug可能出现的情况:- 点击后未显示:下拉菜单的设计可能在触摸设备中未正确实现,导致用户在点击菜单时没有任何反应,选项无法显示。
- 菜单关闭:由于iPhone的触摸操作,在点击下拉菜单的其他地方,菜单可能意外关闭,用户无法选择任何选项。
- 响应区域不够大:如果下拉菜单项的响应区域较小,触摸操作可能不够精准,用户无法顺利选择目标选项
功能和插件:某些网页功能、插件或扩展在移动设备上可能不兼容或不可用。
一般来说在公司中,ios手机端与PC端是由不同的人负责,测试手机端与PC端也是分开测试的。
在Windows上测试safari浏览器的兼容性的方法
虽然在2007年至2012年间,苹果曾提供了适用于Windows的Safari版本,但随后停止了对该平台的支持,并不再发布新的Windows版本更新。那我们想要使用最新版本的Safari浏览器进行测试该怎么做呢?
利用云服务
使用跨浏览器测试平台提供的云端macOS和Safari环境进行测试。
我试过几个如LambdaTest、BrowserStack,使用情况如下
- 免费时间有限,超过之后就需要付费
- 不可以连接公司的内网,测试受限
- 加载、点击缓慢
因为日常的测试需求不仅仅需要连接公司内网,还需要在网页上进行交互,所以这一方案被我pass掉了
使用虚拟机
在电脑上安装VMware,并在其中安装macOS,在安装的虚拟环境里运行Safari浏览器进行测试。
实测可行。
在Windows上下载虚拟机
具体的安装流程可以参考这篇文章👉VMware17Pro虚拟机安装macOS教程(超详细)
文章中的这一步:

我选择的是SATA(A),是因为我的电脑安装时推荐的是SATA(A),与原博文不同。之后我问了下ChatGPT,SATA (A) 和 SCSI (S)的区别,原文是这样的:
SATA (A) 和 SCSI (S) 是两种常见的接口标准,
SATA:适合大多数个人和小型企业用户,提供良好的性能和成本效益。
SCSI:适合需要高可靠性和高性能的企业级应用,尤其是在需要大量并发访问和高可用性的环境中。
因为我只需要使用safari浏览器做一些兼容性测试,进行简单的交互,所以我选择了SATA (A) 接口标准。
遇到的问题以及解决思路
安装过程一切正常,且安装完成后可以连接公司的内网,但是在使用safari连接器是却出现了浏览器聚焦不显示的问题,比如我打开百度,当浏览器窗口获得焦点时:

页面显示不全
当浏览器失去焦点时:

有如下的几种可能的情况会引起这个问题:
- 资源不足
- 虚拟机分配的资源(CPU、内存、显存等)不足,可能导致浏览器在处理复杂页面时性能下降,甚至出现渲染错误。
- 网站本身的问题
- 尝试访问其他网站,看是否有类似的问题。如果不是普遍现象,则可能是目标网站的代码问题。
- 网络连接问题
- 网络连接不稳定或速度很慢,可能导致页面元素加载失败或延迟加载
- 分辨率的问题
- 虚拟机中的屏幕分辨率设置不正确,可能导致页面元素无法正常显示或被截断
对于第一种情况,我提高了虚拟机的内存,可在虚拟机 - 设置中调整,结果还是聚焦不显示。
第二种情况我试着访问了其他网站,确定为是普遍现象。
第三种情况,我将NAT(网络地址转换模式)换成了Bridged(桥接模式),方法可参考这篇文章👉VM虚拟机网络配置桥接模式方法步骤,还是不行。
最后我更改了虚拟机的分辨率,可以了。操作方法为在虚拟机里的设置搜索分辨率

调整即可。
总结
文章介绍了如何在自己的Windows系统中测试safari浏览器的兼容性,方法为使用虚拟机下载macOS系统,然后在里面使用safari浏览器进行测试。文章的最后写了一点我遇到的小问题,如果大家遇到新的问题我们也可以在评论区讨论交流。
相关文章:
在Windows系统上测试safari浏览器的兼容性
文章目录 前言手机端的safari浏览器能替代PC端吗在Windows上测试safari浏览器的兼容性的方法利用云服务使用虚拟机在Windows上下载虚拟机遇到的问题以及解决思路总结 前言 在测试网站的兼容性时需要用到safari浏览器,在没有Mac的情况下,又不想麻烦同事&…...
【设计模式】【结构型模式】桥接模式(Bridge)
👋hi,我不是一名外包公司的员工,也不会偷吃茶水间的零食,我的梦想是能写高端CRUD 🔥 2025本人正在沉淀中… 博客更新速度 👍 欢迎点赞、收藏、关注,跟上我的更新节奏 🎵 当你的天空突…...
惠普HP Color LaserJet CP1215/1210彩色打印机打印校准方法
执行校准 (用随机光盘安装驱动)完整安装打印机驱动程序。安装驱动程序的操作方法请参考以下文章: 惠普HP Color laserjet cp1215激光打印机在windows 7下使用随机光盘安装驱动程序,安装完成后; 依次点击“开始”→“所…...
【雅思博客02】Virus!
Elementary ‐ Virus! (C0007) A: Oh great! This stupid computer froze again! That’s the third time today! Hey Samuel, can you come take a look at my PC? It’s acting up again. It must have a virus or something. B: Just give me a second; I’ll be right …...
模型GPU->NPU(Ascend)迁移训练简述
目录 一、迁移训练流程图解 二、详细流程步骤 1. 模型训练与日志记录 2. 跨平台精度对齐对比 3. 问题定位与修复 4. 迭代验证 三、关键技术点 四、常见问题与解决方案 一、迁移训练流程图解 通过华为云的modelart进行运行环境选型 北京四使用GPU进行模型训练ÿ…...
skywalking实现原理
SkyWalking 是一个开源的分布式应用性能监控(APM)系统,主要用于微服务、云原生应用的性能监控、追踪和故障诊断。其实现原理涉及多个核心模块和技术,以下是 SkyWalking 的实现原理概述: 1. 采集数据(数据收…...
sql语言语法的学习
sql通用语法 sql分类 DDL(操作数据库和表) 操作数据库 操作表_查询 操作表_创建 举例: 操作表_删除 操作表_修改 DML(增删改表中数据) DML添加数据 DML删除数据...
3.buuctf [BSidesCF 2019]Kookie
进入题目页面如下 尝试弱口令密码登录,无果 显示无效密码 用题中给出的用户名和密码登录虽然成功但没得到flag 用burp suite抓包试试 看到username处显示cookie 题目说用admin登录 将username的值改为admin 拿到flag 最后拿到flag...
springboot245-springboot项目评审系统(源码+论文+PPT+部署讲解等)
💕💕作者: 爱笑学姐 💕💕个人简介:十年Java,Python美女程序员一枚,精通计算机专业前后端各类框架。 💕💕各类成品Java毕设 。javaweb,ssm…...
Dify+Ollama+DeepSeek部署本地大模型+知识库搭建
前言 上一篇文章《OllamaDeepSeek部署本地大模型》我们已经知道如何在本地搭建自己的大模型了,不过想要让大模型能够根据我们个人或者企业的数据情况做出精准的回答,我们还需要将自己的数据投喂给大模型才可以。本篇文章我们将会使用一个开源项目dify集…...
每日一题——不同路径的数目与矩阵最小路径和
机器人路径问题与矩阵最小路径和 1. 机器人路径问题题目描述示例示例 1示例 2 解题思路动态规划 代码实现复杂度分析 2. 矩阵的最小路径和题目描述示例示例 1示例 2 解题思路动态规划 代码实现复杂度分析 总结 1. 机器人路径问题 题目描述 一个机器人在 (m \times n) 大小的地…...
143,【3】 buuctf web [GYCTF2020]EasyThinking
进入靶场 一开始那个题目名字就想到了框架 扫描目录 访问后自动下载了 找源码 <?php namespace app\home\controller;use think\exception\ValidateException; use think\facade\Db; use think\facade\View; use app\common\model\User; use think\facade\Request; use …...
Windows逆向工程入门之栈指令与核心机制深度解析
公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 Windows逆向工程入门:栈指令与核心机制深度解析 一、栈的核心概念与内存布局 二、栈操作指令详解 1. PUSH 与 POP 2. PUSHA/PUSHAD 与 POPA/POPAD 3. PUSHF/PUSHFD 与 P…...
腾讯混元hunyuan3d生成模型,本地搭建和使用
腾讯混元hunyuan3d生成模型,本地搭建和使用 腾讯混元hunyuan3d生成模型,本地搭建和使用一. 话不多说,我们直接上本地部署的详细步骤1. 将仓库拉到本地2. 下载2个模型, 注意这里推荐 先使用conda创建环境后在安装modelscope进行下载模型2.1 关于第一个模型我们要在 Hunyuan3D-1 …...
flutter image_cropper插件安装后 打包apk 报错命名空间问题
本篇文章主要讲解,Flutter安装完新依赖打包apk报错 A problem occurred configuring project ‘:image_cropper’. 命名空间问题的解决办法及原因说明。 日期:2025年2月15日 作者:任聪聪 一、报错现象: 报文信息: FAI…...
2025-2-15-4.5 链表(基础题)
文章目录 4.6 链表(基础题)206. 反转链表92. 反转链表II24. 两两交换链表中的节点 4.6 链表(基础题) 有一天我做题忽然发现要把一个数组完全倒着翻过来很费劲,今天看,链表为此而生啊。 206. 反转链表 题目…...
目标检测IoU阈值全解析:YOLO/DETR模型中的精度-召回率博弈与工程实践指南
一、技术原理与数学本质 IoU计算公式: IoU \frac{Area\ of\ Overlap}{Area\ of\ Union} \frac{A ∩ B}{A ∪ B}阈值选择悖论: 高阈值(0.6-0.75):减少误检(FP↓)但增加漏检(FN↑…...
免费大模型网站
腾讯元宝 腾讯元宝 秘塔搜索 秘塔搜索 超算互联网 超算互联网回答速度很慢 Chatbot Arena Chatbot Arena 大模型竞技场。...
【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第三节】
ISO 14229-1:2023 UDS诊断服务测试用例全解析(安全访问0x27服务) 作者:车端域控测试工程师 更新日期:2025-02-12 关键词:UDS安全访问、0x27服务、ISO 14229-1:2023、ECU安全验证 一、服务概述 安全访问服务࿰…...
macOS部署DeepSeek-r1
好奇,跟着网友们的操作试了一下 网上方案很多,主要参考的是这篇 DeepSeek 接入 PyCharm,轻松助力编程_pycharm deepseek-CSDN博客 方案是:PyCharm CodeGPT插件 DeepSeek-r1:1.5b 假设已经安装好了PyCharm PyCharm: the Pyth…...
java八股文-mysql
1. 索引 1.1 什么是索引 索引(index)是帮助Mysql高效获取数据的数据结构(有序).提高数据的检索效率,降低数据库的IO成本(不需要全表扫描).通过索引列对数据进行排序,降低数据排序成本,降低了CPU的消耗. 1.2 mysql索引使用的B树? 1. 没有使用二叉树,最坏情况o&…...
YOLO11环境搭建CUDA12.6
1.安装CUDA和cuDNN 1.1安装CUDA 1.1.1查看当前你的电脑显卡支持的最高CUDA版本,后面的安装不能超过它 通过命令的方式查看 输入nvidia-smi 1.1.2 下载CUDA 官网地址:CUDA Toolkit Archive | NVIDIA Developer 选择cuda_12.6.3 下载完成后,如下: 安装,一直下一步即可:…...
OpenEuler学习笔记(三十二):在OpenEuler上搭建项目管理平台
在OpenEuler上搭建一个支持网页和手持访问、且支持用户功能自定义的项目管理平台,可以选择多种开源工具。以下是基于 Redmine 的搭建方案,Redmine 是一个灵活的项目管理工具,支持网页和移动端访问,并且可以通过插件扩展功能。 1.…...
LabVIEW中的icon.llb 库
icon.llb 库位于 C:\Program Files (x86)\National Instruments\LabVIEW 2019\vi.lib\Platform 目录下,是 LabVIEW 系统中的一个重要库。它的主要功能是与图标相关的操作,提供了一些实用的 VI 用于处理 LabVIEW 图标的显示、修改和设置。通过该库&#x…...
React Hooks 的两个坑点
React Hooks 使用注意事项 Area: Hooks Date: February 10, 2025 Important: 🌟🌟🌟 React Hooks 注意事项 要点: useState 的初始化值 只在第一次渲染时计算,并且这个值不会随着组件重新渲染而更新。useEffect 可…...
C语言的字符串偏移小记
通过C的指针,我们可以遍历一个很长的字符串。我们针对这个字符串可以按照字符串里面的终止符做切分。 首先我们来看下面的一段代码: #include <stdio.h> #include <stdlib.h> #include <stdio.h> #include <string.h>const ch…...
Python学习心得正则表达式及re模块的使用
一、正则表达式定义以及正则表达式的构成: 1.什么式正则表达式: 正则表达式:是一个比较特殊的字符序列,能够帮助用户检查一个字符串是否符合某种特殊的模式。 2.正则表达式的构成: 正则表达式是由元字符和限定字符…...
Oracle启动与关闭(基础操作)
11g读取参数文件的顺序 9i之前,只有静态参数文件pfile文件。 9i开始,引入了动态参数文件spfile文件。 Windows: %ORACLE_HOME%\database SPFILEORCL就是动态参数文件 Linux: $ORACLE_HOME/dbs 11g中,启动数据库。…...
第二月:学习 NumPy、Pandas 和 Matplotlib 是数据分析和科学计算的基础
以下是一个为期 **1 个月(30 天)**的详细学习计划,精确到每天的学习内容和练习作业,帮助你系统地掌握 NumPy、Pandas 和 Matplotlib 的核心功能。 第 1 周:NumPy 基础 Day 1:NumPy 简介与数组创建 学习内…...
AI 语言模型发展史:统计方法、RNN 与 Transformer 的技术演进
引言 自然语言处理(NLP)是 AI 领域的重要分支,而语言模型(Language Model, LM)是 NLP 的核心技术。语言模型经历了从 统计方法 到 RNN(循环神经网络),再到 Transformer 的演进&…...
