第二周博客预习----常见标签,认识浏览器(给出部分样例)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

  • <p></p>:该标签被用来放段落,paragraph的缩写
  • <h></h>:标签,header表示标题,从h1到h6,h1最大
  • <hr>:分割线
  • <br>:换行标签,对应的是单词是break
  • <center></center>:居中显示
  • marquee:跑马灯效果
  • <button></button>:按钮
  • pre预保留格式
  • span行内组合
  • <a></a>:超链接

    • target="self"  :在当前界面打开该链接

      target="_blank":在新的界面打开该链接

    • href=“网址”,网址若为“#”,为虚拟超链接

  • <img></img>:图片标签
    • src=“图片路径”
    • alt=“替换文本”

  • table表格,th表头(内容加粗居中),tr单元行,td单元格

  • form表单,有许多表单元素

    • input,根据type属性有不同功能,例如text文本框,password密码框,radio单选框,checkbox多选框。。。。

    • select>option,下拉选项框

    • textarea文本域

  • 无序列表ul,li

  • 有序列表ol,li

  • 自定义列表di,dt,dd

  • 浏览器的功能:网络、资源管理、网页浏览、多页面管理、插件和扩展、书签管理、历史记录管理、设置管理、下载管理、账号和同步、安全机制、隐私管理、外观主题、开发者工具等

    网络:它是第一步,浏览器通过网络模块来下载各种各样的资源,例如HTML文本、JavaScript代码、样式表、图片、音视频文件等。网络部分其实非常重要,因为它耗时比较长并且需要安全访问互联网上的资源

    资源管理:从资源下载或者本地获取资源,并将它们管理起来,这需要高效的管理机制,例如如何避免重复下载资源、缓存资源等,都是它们需要解决的问题

    网页浏览:这是浏览器的核心也是最基本、最重要的功能,它通过网络下载资源并从资源管理器获得资源,将它们转变为可视化的结果(浏览器内核的最终要的功能)

    多页面管理:支持多个页面同事加载,解决多页面的相互影响和安全等问题也非常重要,解决方法:使用进程或者使用线程来绘制网页

    插件和扩展:插件是用来显示网页特定内容的,而扩展则是增加浏览器新功能的软件或者压缩包

    安全机制:本质是提供一个安全的浏览器环境,避免用户信息被各种非法工具窃取和破坏,这可能包括显示用户访问的网站是否安全,为网站设置安全级别、防止浏览器被恶意代码攻破等

    开发者工具:审查HTML元素、调试JavaScript代码,改善网页性能等

    浏览器核心的种类
    浏览器的种类实在是太多,如IE、Firefox、Chrome、Opera等,但是浏览器内核的种类就比较少了,分别是Trident、Gecko、WebKit和Presto、Blink,对于Trident来说,代表的产品就是Internet Explorer(IE),Gecko的代表就是Mozilla Firefox,WebKit的代表就是Safari、Chrome,Presto的代表是Opera(之前版本),现在Opera使用的是Blink内核

    Blink内核是开源引擎WebKit中的WebCore组件的一个分支,在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex浏览器中使用,Blink目前是从WebKit直接复制出的一个版本,将与Chromium无关的Ports都去掉,将代码结构重新整理

    浏览器之间产生兼容性的原因
    通过上面就可以看出,因为不同的浏览器可能使用不同的浏览器内核,因为内核的不同所以导致各个浏览器对于网页的解析产生了差异,在做前端方面的工作时,对于兼容性的问题的解决,可以从三方面入手:HTML、CSS、JavaScript

    HTML差异性主要体现在对HTML5的支持上,

    关于JavaScript的兼容性:

    事件绑定的方法,addEventListener和attachEvent(IE)

    event属性获取目标元素的方法,event.target和event.srcElement(IE)

    Ajax的实现方式,XMLHttpRequest和ActiveXObject(IE)

    DOM元素的属性,childNodes和children,childNodes它是标准属性,它返回指定元素的子元素集合,包括HTML节点,所有属性,文本节点,通过nodeType来判断是哪种类型的节点,只有当nodeType==1时才是元素节点,2是属性节点,3是文本节点,children只返回HTML节点,甚至不返回文本节点

    对于IE浏览器,有event.x和event.y属性,在Firefox下,event.pageX和event.pageY是存在的

    一些关于WebKit的概念
    当我在看那本书的时候,就看到这样几个概念,觉得比较容易混淆,所以专门列举出来

    WebKit:一个开源的项目,其前身来自于KDE的KHTML和KJS,该项目专注于网页内容的展示,开发出一流的网页渲染引擎,该项目包含两部分,一部分是WebCore,其中包含着对HTML、CSS等很多W3C规范的实现,第二部分是狭义的WebKit,它主要包含各个平台的移植并提供相对应的Web接口,也就是WebView或者类似WebView,这些接口提供操作和显示网页的功能。目前使用WebKit的主流的浏览器包括Chrome, Safari, QtWebKit, Android Browser以及众多的移动平台的浏览器

    WebKit2:相对于狭义的WebKit而言,不是简单的第二个版本,它是新的API层,最主要的变化在于将网页的渲染置于单独的进程,而接口层在另外一个进程,它们之间使用IPC来通讯。对于接口的调用者来说,中间的IPC和地下的是现实透明的,这样做的最明显的好处是,当网页的渲染出现问题的时候,不会阻碍Web解口的调用者进程,提高了浏览器的稳定性和安全性

    Chromium:是建立在WebKit上的开源项目,由Google发起,引入了很多先进的技术,如跨进程模型、沙箱模型等,也支持很多新的规范,如WebGL、Canvas2D、CSS3以及HTML5特性

    Chrome:是Google公司的浏览器产品,基于Chromium开源项目,但是Chrome的代码却没有开源,因为含有Google的私有Code和很多服务,Chrome可以自动更新,Chrome的版本更细是落后于Chromium的

    WebKit架构

    大体上分为了四个层次:

    1.最底层为操作系统层,这个也就说明了WebKit可以运行在不同的操作系统上

    2.所依赖的第三方库:主要有图形库、音频库、视频库

    3.WebKit层,它又可以分为三部分WebCore、JavaScriptCore、WebKit Ports

    WebCore:与平台无关,可以被多个浏览器移植使用,起加载和渲染网页的部分,具体包括了HTML解释器(HTML解析)、CSS解释器(CSS解析)、SVG、DOM、渲染树(RenderObject树、RenderLayer树等),以及Inspector(Web Inspector、调试网页)

    JavaScriptCore:在WebKit中起到的作用是解析和提供执行环境

    WebKit Ports:WebKit中的非共享部分,所谓一个WebKit Port,并没有确切的形式,可以看作是OS,平台(应用程序框架),JS引擎,以及各种第三方库的一个组合,详细介绍

    4.WebKit接口层:主要是提供嵌入式编程接口,提供给浏览器调用
     



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。在编写C程序时,需要注意变量的声明和定义、指针的使用、内存的分配与释放等问题。C语言中常用的数据结构包括: 1. 数组:一种存储同类型数据的结构,可以进行索引访问和修改。 2. 链表:一种存储不同类型数据的结构,每个节点包含数据和指向下一个节点的指针。 3. 栈:一种后进先出(LIFO)的数据结构,可以通过压入(push)和弹出(pop)操作进行数据的存储和取出。 4. 队列:一种先进先出(FIFO)的数据结构,可以通过入队(enqueue)和出队(dequeue)操作进行数据的存储和取出。 5. 树:一种存储具有父子关系的数据结构,可以通过中序遍历、前序遍历和后序遍历等方式进行数据的访问和修改。 6. 图:一种存储具有节点和边关系的数据结构,可以通过广度优先搜索、深度优先搜索等方式进行数据的访问和修改。 这些数据结构在C语言中都有相应的实现方式,可以应用于各种不同的场景。C语言中的各种数据结构都有其优缺点,下面列举一些常见的数据结构的优缺点: 数组: 优点:访问和修改元素的速度非常快,适用于需要频繁读取和修改数据的场合。 缺点:数组的长度是固定的,不适合存储大小不固定的动态数据,另外数组在内存中是连续分配的,当数组较大时可能会导致内存碎片化。 链表: 优点:可以方便地插入和删除元素,适用于需要频繁插入和删除数据的场合。 缺点:访问和修改元素的速度相对较慢,因为需要遍历链表找到指定的节点。 栈: 优点:后进先出(LIFO)的特性使得栈在处理递归和括号匹配等问题时非常方便。 缺点:栈的空间有限,当数据量较大时可能会导致栈溢出。 队列: 优点:先进先出(FIFO)的特性使得
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值