热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

每日思维洞察:2020年8月19日的深度分析与反思

在2020年8月19日的深度分析中,我们探讨了HTML标签中同时存在`a`标签的`href`和`onclick`属性时的触发顺序问题。此外,还讨论了如何在一个自适应高度的父级`div`中,使两个子`div`中的一个固定高度为300px,另一个自动填充剩余空间的方法。最后,文章详细介绍了JavaScript异步加载的多种实现方式,包括但不限于`async`、`defer`属性以及动态脚本插入技术,为开发者提供了丰富的技术参考。

题目概览



  • a标签的href和onclick属性同时存在时哪个先触发

  • 外层有一个自适应高度的div,里面有两个div,一个高度固定300px,另一个怎么填满剩余的高度

  • js异步加载有哪些方案

  • 对robots文件的理解


题目解答


a标签的href和onclick属性同时存在时哪个先触发



  • onclick属性先触发



  • 判断依据是在onclik中使用preventDefault方法可以阻止a标签的跳转,说明a标签的跳转行为是一个默认行为

    test



外层有一个自适应高度的div,里面有两个div,一个高度固定300px,另一个怎么填满剩余的高度



  • 可以设置外层自适应高度的容器为flex布局,利用flex-basis属性即可实现自动填满剩余高度(flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。它可以设为跟width或height属性一样的值,比如350px,则项目将占据固定空间。

    一句话就是项目占据了固定的高度,再使用flex: 1填空间的时候,不会考虑固定的空间)

















js异步加载有哪些方案



  • 将script标签放在body结束标签之前:先加载dom树,然后再加载js脚本




    .....





  • 在onload方法中给dom树动态添加script标签:先加载dom树,然后触发onload方法添加script标签加载js脚本



    {
    var element = document.creatElement(‘script‘);
    element.type = ‘text/Javascript‘;
    element.src = ‘...‘;
    var headTag = document.getElementsByTagName(‘head‘)[0];
    headTag.insertBefore(element, headTag.firstChild);}">
    .....




  • 使用defer属性:并行加载dom树和下载js脚本,js脚本下载后会等dom树解析完再执行





    .....



  • 使用async属性:会并行加载dom树和下载js脚本,js脚本下载完后立刻并行执行





    .....



  • (自带 defer 效果) 和 动态加载模块的 import() 函数,配合 async/await 实现,参考在浏览器中使用JS module




对robots文件的理解



  • robots.txt文件对抓取工具(如爬虫)在访问路径等方面做出了规定,用于阻止或引导抓取工具对网站下特定内容的抓取

  • 参考文档:Robots.txt 规范 | 搜索 | Google Developers


推荐阅读
  • 题目描述:小K不幸被LL邪教洗脑,洗脑程度之深使他决定彻底脱离这个邪教。在最终离开前,他计划再进行一次亚瑟王游戏。作为最后一战,他希望这次游戏能够尽善尽美。众所周知,亚瑟王游戏的结果很大程度上取决于运气,但通过合理的策略和算法优化,可以提高获胜的概率。本文将详细解析洛谷P3239 [HNOI2015] 亚瑟王问题,并提供具体的算法实现方法,帮助读者更好地理解和应用相关技术。 ... [详细]
  • 在Spring框架中,基于Schema的异常通知与环绕通知的实现方法具有重要的实践价值。首先,对于异常通知,需要创建一个实现ThrowsAdvice接口的通知类。尽管ThrowsAdvice接口本身不包含任何方法,但开发者需自定义方法来处理异常情况。此外,环绕通知则通过实现MethodInterceptor接口来实现,允许在方法调用前后执行特定逻辑,从而增强功能或进行必要的控制。这两种通知机制的结合使用,能够有效提升应用程序的健壮性和灵活性。 ... [详细]
  • 在使用关系型数据库时,通常需要通过用户名和密码进行身份验证才能访问数据。然而,MongoDB默认情况下并不强制要求这种身份验证机制,使得用户无需凭据即可访问并执行各种操作。虽然这一设计简化了初学者的上手过程,但也带来了显著的安全风险。为了提升MongoDB的连接安全性,本文将探讨多种策略与实践,包括启用身份验证、配置网络访问控制、加密通信以及定期审计安全设置,以确保数据库的安全性和数据的完整性。 ... [详细]
  • 在 Linux 系统中,`/proc` 目录实现了一种特殊的文件系统,称为 proc 文件系统。与传统的文件系统不同,proc 文件系统主要用于提供内核和进程信息的动态视图,通过文件和目录的形式呈现。这些信息包括系统状态、进程细节以及各种内核参数,为系统管理员和开发者提供了强大的诊断和调试工具。此外,proc 文件系统还支持实时读取和修改某些内核参数,增强了系统的灵活性和可配置性。 ... [详细]
  • SQLmap自动化注入工具命令详解(第28-29天 实战演练)
    SQL注入工具如SQLMap等在网络安全测试中广泛应用。SQLMap是一款开源的自动化SQL注入工具,支持12种不同的数据库,具体支持的数据库类型可在其插件目录中查看。作为当前最强大的注入工具之一,SQLMap在实际应用中具有极高的效率和准确性。 ... [详细]
  • DHCP三层交换机设置方式全局模式和接口模式设置方式和命令resetsave回车输入yreboot输入n输入y重启后就恢复默认设置了默认用户名密码adminAdmin@huawei ... [详细]
  • POJ 1696: 空间蚂蚁算法优化与分析
    针对 POJ 1696 的空间蚂蚁算法进行了深入的优化与分析。本研究通过改进算法的时间复杂度和空间复杂度,显著提升了算法的效率。实验结果表明,优化后的算法在处理大规模数据时表现优异,能够有效减少计算时间和内存消耗。此外,我们还对算法的收敛性和稳定性进行了详细探讨,为实际应用提供了可靠的理论支持。 ... [详细]
  • Go语言中的高效排序与搜索算法解析
    在探讨Go语言中高效的排序与搜索算法时,本文深入分析了Go语言提供的内置排序功能及其优化策略。通过实例代码,详细讲解了如何利用Go语言的标准库实现快速、高效的排序和搜索操作,为开发者提供了实用的编程指导。 ... [详细]
  • 在 Codeforces Global Round 3 的 B 题 "Inherent Talent" 中,主人公潇洒哥需要从 A 地前往 C 地,但两地之间没有直飞航班。他可以选择在 A 地和 B 地之间的中转航班,以便尽快抵达目的地 C。该问题的核心在于如何合理安排中转,以实现最短的旅行时间。 ... [详细]
  • 在斯坦福大学的公开课中,详细探讨了多变量线性回归在机器学习中的应用与解析。课程内容涵盖了多维特征的处理方法,以及如何通过多变量梯度下降算法优化模型参数,为理解和实现复杂的回归问题提供了坚实的理论基础和实践指导。 ... [详细]
  • 题目旨在解决树上的路径最优化问题,具体为在给定的树中寻找一条长度介于L到R之间的路径,使该路径上的边权平均值最大化。通过点分治策略,可以有效地处理此类问题。若无长度限制,可采用01分数规划模型,将所有边权减去一个常数m,从而简化计算过程。此外,利用单调队列优化动态规划过程,进一步提高算法效率。 ... [详细]
  • 深入解析:Android开发进阶之Vim编辑器基础操作与应用
    本文深入探讨了Android开发中使用Vim编辑器的基础操作与应用。通过详细解析Vim的基本命令、配置文件和常用插件,帮助开发者提高代码编写效率。文章还介绍了如何在Android开发环境中高效利用Vim,包括集成开发环境(IDE)的配置和常见问题的解决方法。适合初学者和有经验的开发者参考。 ... [详细]
  • 本文详细介绍了 MiniGUI 中静态控件(CTRL_STATIC)的使用方法及其不同风格的应用。具体而言,采用 SS_SIMPLE 风格的静态控件仅支持单行文本显示,不具备自动换行功能,且文本始终为左对齐。而 SS_LEFT、SS_CENTER 和 SS_RIGHT 风格则分别实现了文本的左对齐、居中和右对齐布局,提供了更多的排版灵活性。此外,文章还探讨了这些控件在实际开发中的应用场景和最佳实践。 ... [详细]
  • 在探讨 AS3 中的数据深度复制技术时,本文详细介绍了实现数据深度克隆的有效方法。通过对比多种方案,最终确定了一种高效且可靠的实现方式,所有代码均来源于公开资源,确保了方法的实用性和可操作性。 ... [详细]
  • Android目录遍历工具 | AppCrawler自动化测试进阶(第二部分):个性化配置详解
    终于迎来了“足不出户也能为社会贡献力量”的时刻,但有追求的测试工程师绝不会让自己的生活变得乏味。与其在家消磨时光,不如利用这段时间深入研究和提升自己的技术能力,特别是对AppCrawler自动化测试工具的个性化配置进行详细探索。这不仅能够提高测试效率,还能为项目带来更多的价值。 ... [详细]
author-avatar
Evan-ZWU_680
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有