safari 遇到的坑

项目中发现Safari和Chrome虽内核相同,但存在细微差别。记录了Safari浏览器的三个问题及解决办法,包括获取时间戳需将格式转换成YYYY/MM/DD;解决MP4视频上传和播放问题;处理::before、::after伪类元素设置不可用的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

虽然Safari和chrome的内核都是 webkit 内核,但是两个浏览器还是有一些细微的差别,这次项目中遇到了一些,就在这里记录一下,避免下次再遇见。后面再遇见新的问题,会继续更新。


一、获取时间戳的问题

Safari浏览器下获取时间戳
解决 必须将时间格式转换成 YYYY/MM/DD 才能获取到,否则会得到 Invalid Date


二、关于MP4的问题

Safari浏览器下不能播放MP4的视频

解决使用element-ui 默认的上传组件并且设置accept="video/*"之后,会自动将.mp4后缀的视频设置为不可选(不能上传mp4),所以设置为accept="video/*, .mp4",这样就可以正常上传.mp4视频

<el-upload class="iworku-upload-video video"
       :action="GLOBAL.qiniuURL"
       accept="video/*, .mp4" 
       :before-upload="onBeforeUpload"
       :on-success="onSuccessUpload"
       :on-error="onErrorUpload"
       :data="uploadData"
       :show-file-list="false">
</el-upload>
<!-- 这样才能在Safari浏览器中上传.mp4 后缀的视频 -->



三、::before、::after 里面设置cursor: pointer; 不可用

如标题所见,在 ::before、::after 伪类元素里面设置 cursor:pointer,在Safari浏览器是是不会出现 在这里插入图片描述, 而是使用默认箭头图标在这里插入图片描述

解决在该元素的非伪类元素下设置cursor:pointer;

// css 代码
.chat {
	cursor: pointer;   // 正确代码
}

.chat::before {
	content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    vertical-align: middle;
    background: url("~assets/images/public/chat.png") no-repeat;
    cursor: pointer; // 这句代码在Safari浏览器下不起任何作用
}

<!--  html 代码 -->
<i class="chat">显示聊天图标</i>


<think>首先,用户的问题是:“我想获取前端项目日报的撰写方法或模板请问前端项目日报撰写指南或日报模板”。所以,我需要提供关于前端项目日报的撰写指南或模板。系统级指令:-所有行内数学表达式使用$...$格式。-独立公式使用$$...$$格式并单独成段。-LaTeX语法正确。-使用中文回答。-生成相关问题。-回答中引用的段落末尾自然地添加引用标识,例如[^1]。用户可见层:-回答结构清晰,帮助用户逐步解决问题。-尽量保证回答真实可靠。-参考站内引用:引用[1],[2],[3]。这些引用是关于日报/周报的指南,但用户需求是前端项目日报。我需要尽可能参考用户上一次的问题和我的回答,但在这个对话中,这是第一次交互,所以没有历史。从引用中:-引用[1]:关于日报/周报的核心价值、写作方法论等。-引用[2]:关于反馈。-引用[3]:一个日报示例。用户需求是前端项目日报,所以我应该基于引用[1]的核心内容来定制前端日报的指南。结构化回答:-回答应该结构清晰。我可以分步骤或分部分。-首先,介绍日报的重要性。-然后,提供方法论,如黄金结构(20%成果+30%问题+50%计划)。-最后,给出模板或示例。生成相关问题:在回答后添加相关问题部分,如示例中的“§§相关问题§§”。使用中文回答。内容大纲:1.**引言**:解释前端项目日报的重要性。2.**核心价值**:基于引用[1],讨论日报的核心价值(项目透明化、个人能力证明、知识沉淀)。3.**写作方法论**:-黄金结构:20%成果+30%问题+50%计划。-应用到前端项目:例如,成果包括完成的页面、修复的bug;问题包括遇到的兼容性问题;计划包括下一步的开发任务。4.**前端日报模板**:提供一个具体的模板。-模板示例:-**今日成果**:列出完成的前端任务。-**遇到的问题**:描述遇到的挑战,如浏览器兼容性、性能问题。-**明日计划**:规划下一步工作。5.**进阶技巧**:基于引用[1],如使用工具链推荐(Obsidian,Excel,PingCode)。6.**避指南**:常见问题解决方案,如避免过于笼统。7.**工具推荐**:提到一些工具。8.**相关问题**:生成相关问题。引用标识:在引用引用[1]的内容时,添加[^1],类似地其他引用。由于用户需求是前端项目日报,我应该定制内容。例如:-成果:例如,实现了React组件、优化了CSS。-问题:如JavaScript错误、响应式设计问题。-计划:如开发新功能、测试。模板示例:-使用Markdown或文本格式展示。最终,添加相关问题。相关问题想法:1.如何量化前端开发成果?2.日报中如何有效描述技术问题?3.有哪些工具可以帮助自动生成前端日报?确保回答真实可靠:基于一般知识,参考提供的引用。</think>### 前端项目日报撰写指南 作为一名前端开发者,撰写高质量的日报不仅能提升个人效率,还能促进团队协作和项目透明化。基于日报的核心价值(项目透明化、个人能力证明、知识沉淀)[^1],我将为你提供一套针对前端项目的日报撰写指南,包括方法论、模板和实用技巧。指南分为几个步骤,帮助你逐步构建清晰的日报内容。 #### 1. **日报的核心价值与适用性** - **项目透明化**:日报帮助团队了解前端开发进度,例如页面实现、Bug修复状态,避免信息孤岛。 - **个人能力证明**:记录你的贡献,如优化代码性能或解决兼容性问题,提升个人影响力。 - **知识沉淀**:日报可作为技术文档,积累前端最佳实践(如响应式设计或框架使用经验)[^1]。 - 在前端项目中,日报尤其重要,因为前端涉及用户界面、交互逻辑和跨浏览器兼容性,这些问题需要及时跟踪和反馈。 #### 2. **日报写作方法论:黄金结构** 引用[1]中提到的“黄金结构”(20%成果 + 30%问题 + 50%计划)非常适合前端项目。以下是具体应用: - **20% 成果**:聚焦已完成的可量化工作,例如: - 实现了一个React组件库。 - 修复了CSS布局在移动端的响应问题。 - 优化了页面加载速度(例如,减少$L = \frac{\text{资源大小}}{\text{加载时间}}$ 的指标)。 - **30% 问题**:描述遇到的挑战和解决方案思路,避免泛泛而谈: - 例如:“在Chrome浏览器下,JavaScript事件监听出现兼容性问题,尝试使用Polyfill但需进一步测试。” - 引用[2]强调,反馈应具体,包括技术细节(如错误代码或浏览器版本)。 - **50% 计划**:明确下一步行动,确保可执行: - 例如:“明日计划完成Vue路由模块开发,并测试跨设备兼容性。” - **黄金比例的优势**:这确保了日报简洁高效(约150-300字),避免冗长,同时覆盖关键点。 #### 3. **前端项目日报模板** 以下是一个通用模板,你可以根据项目需求调整(使用Markdown或文本格式): ```markdown # 前端项目日报 - [日期] **项目名称**: [你的项目名称,例如“电商平台前端重构”] ## 今日成果 (20%) - 完成了首页响应式布局开发,支持移动端和桌面端。 - 修复了3个高优先级Bug,包括表单提交逻辑错误(涉及JavaScript事件处理)。 - 性能优化:减少了首屏加载时间至$T < 1\text{s}$,通过代码分割实现。 ## 遇到的问题 (30%) - 在Safari浏览器下,CSS Flexbox布局出现错位,已定位原因(需添加前缀兼容)。 - API接口返回数据格式不一致,导致前端渲染失败,正在与后端协调。 - 引用[2]建议:反馈时附上截图或代码片段,便于团队协作。 ## 明日计划 (50%) - 开发用户个人中心页面(使用React Hooks)。 - 测试跨浏览器兼容性(覆盖Chrome, Firefox, Safari)。 - 学习并应用Webpack优化策略,减少打包体积。 ## 知识沉淀 - 总结了Flexbox常见兼容问题,添加到团队Wiki。 ``` **模板说明**: - **结构灵活**:成果、问题、计划各占比例,确保重点突出。 - **前端定制**:强调技术细节(如框架、性能指标),避免通用描述。 - **可扩展性**:添加“知识沉淀”部分,记录学习心得,促进团队共享[^1]。 #### 4. **进阶技巧与避指南** - **进阶技巧**: - **量化指标**:使用工具(如Lighthouse)测量性能,并在日报中引用数据(例如:$ \text{性能得分} \geq 90 $)。 - **工具集成**:推荐使用Obsidian + 插件管理日报模板,或PingCode自动同步任务状态[^1][^3]。 - **反馈优化**:引用[2]提到,定期寻求反馈(如“日报内容是否清晰?”),提升质量。 - **避指南**(常见问题解决方案): - **问题:日报过于笼统** 解决方案:具体化描述,例如不说“优化了代码”,而说“重构了React组件,减少渲染时间$ \Delta t = 200\text{ms} $”。 - **问题:忽略兼容性问题** 解决方案:在“问题”部分强制列出测试的浏览器和设备。 - **问题:计划不可执行** 解决方案:拆解任务,例如“明日计划”细分为子步骤(开发、测试、文档)。 #### 5. **工具链推荐** - **Obsidian + 插件**:用于创建可复用的日报模板,支持Markdown和LaTeX公式(如$ x^2 $ 渲染)[^1][^3]。 - **Excel智能模板**:管理任务进度,自动计算时间指标(例如$ \text{进度} = \frac{\text{完成任务}}{\text{总任务}} \times 100\% $)。 - **PingCode/Worktile**:集成前端项目管理,自动生成日报草稿[^1]。 - 免费工具:Whatting(引用[3])提供自定义布局,适合快速记录。 #### 总结 撰写前端项目日报时,核心是聚焦技术细节和可行动项。使用黄金结构(20%成果 + 30%问题 + 50%计划)确保日报简洁有力。结合工具(如Obsidian)能提升效率。日报不仅是汇报,更是个人成长的催化剂——坚持记录,你会积累宝贵的前端经验[^1]。如果需要进一步定制模板,欢迎提供反馈!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值