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

《HeadFirshHTML5》学习笔记(总结)

简介:文章中的知识:CSS3,Web工作线程,本地存储,画布,地理定位,新表单,音频视频第一章:认识HTML5HTML5是最新版本的HTML,它引入了简化的标记,

    简介:文章中的知识:CSS3,Web工作线程,本地存储,画布,地理定位,新表单,音频/视频

第一章:认识HTML5

  • HTML5是最新版本的HTML,它引入了简化的标记,新的语义和媒体元素,另外要依赖一组支持Web应用的Javascript
  • Xhtml不在是Web页面的标准,开发人员和W3C决定还是继续扩展和改进HTML
  • 新的,更为简单的HTML5 doctype在较老的浏览器上也得到支持,这些浏览器看到这个doctype时会使用标准模式

  • JSONP介绍:

    • 除了提供HTML和Javascript的服务器外,XMLHttpRequest不允许从其他不同服务器请求数据。这是一个浏览器安全策略,专门设计用来避免恶意的Javascript访问你的Web页面和用户的COOKIE。
    • 要访问Web服务托管的数据,除了XMLHttpRequest外,令一种候选方法是JSONP
    • 如果HTML和Javascript与数据在同一个机器上,就可以使用XMLHttpRequest
    • 如果需要访问由远程服务器上的一个Web服务托管的数据,则要使用JSONP
    • JSONP是一种使用

      看,下面是输出

      manager.js

      window.Onload= function(){
      	var worker = new Worker("/static/js/work.js");
      	
      	worker.postMessage("ping");
      	
      	worker.Onmessage= function(event){
      		var message = "Worker says " + event.data;
      		document.getElementById("output").innerHTML = message;
      	};
      }

      work.js

      Onmessage= pingpong;
      
      function pingpong(event) {
      	if (event.data == "ping") {
      		postMessage("pong");
      	}
      	else {
      		// intentionally make an error!
      		1/x;
      	}
      }

      关于web工作线程的几个问题

      1,创建工作线程时能不能直接传递一个函数,而不是利用一个Javascript文件?这样看起来更容易,而且与Javascript通常的做法更一致:

          答:不,不能这样做。因为工作线程的要求之一就是它不能访问DOM,处于同样的原因,也不能访问主浏览器线程的任何状态。如果可以向worker构造函数传入一个函数,这个函数可能好包含DOM或主Javascript代码的引用,这就会违反这个要求。所以,为了避免这个问题,Web工作线程的设计者选择的做法是只能传递一个Javascript url。

      2,工作线程可以访问localStorage或做出XMLHttpRequest请求吗?

          答:可以

      web工作线程介绍:

      • 如果没有Web工作线程,Javascript是单线程的,这说明它一次只能做一件事情
      • 如果你交给一个Javascript程序太多的工作,你可能会收到一个"slow script"(脚本运行缓慢)的对话框
      • Web工作线程在一个单独的线程处理任务,所以主Javascript代码可以继续运行,用户界面可以保持响应
      • Web工作线程不能访问页面代码中的函数或DOM
      • 页面中的代码与Web工作线程通过消息通信
      • 要向一个工作线程发送消息,可以使用postMessage
      • 可以通过postMessage向工作线程发送字符串和对象,但不能向工作线程发送函数
      • 可以将工作线程的onmessage属性设置为一个处理函数,来接受由工作线程返回的消息
      • 工作线程将其onmessage属性设置为一个处理函数,来接收页面代码发送的消息
      • 一个工作线程准备发回一个结果,会调用postMessage,并传入结果作为参数
      • 工作线程结果封装在一个事件对象中,并置于data属性中
      • 可以使用event.target属性查找哪个工作线程发出了消息
      • 消息在主页面代码和工作线程之间会复制,而非共享
      • 可以使用多个工作线程完成能分解为多个任务的大规模计算,如计算一个分形可视乎图像或对光线跟踪图像
      • 每个工作线程在它的线程中运行,所以如果你的计算机有一个多喝处理器,工作线程会并行运行,这会提高计算的速度
      • 可以从页面代码调用worker.terminate()来终止一个线程。这会终止工作线程脚本。工作线程还可以调用close()让自己停止工作
      • 工作线程还有一个onerror属性。可以把这个属性设置为一个错误处理函数,如果你的工作线程存在一个脚本错误就会调用这个处理函数。
      • 要在工作线程文件中包含和使用Javascript库,可以使用importScripts
      • 工作线程不能访问DOM或主代码中的函数,但是可以使用XMLHttpRequest和本地存储。

推荐阅读
  • 前端监控数据网络(要求阻拦)
    所谓web,纵然你我素未谋面,便知志趣相投;深居简出,亦知天下之大。01—为何阻拦要求如今的web运用,大都是经由过程要求(http)去猎取资本,拿到资本后再显现给用户,一个页面中 ... [详细]
  • FileReader详解与实例---读取并显示图像文件
    我们曾经在《HTML5中File对象初探》中,使用到了FileReader,在那篇文章中,它被用来将一个文件读取为二进制字符串,并通过xhr发送到后端形成交互。作为FileAPI的一部 ... [详细]
  • 新版本在线体验地点已上线,迎接体验?—2017-01-14喜好就Star,不只是Fork;想要分享的结果才是驱动力,而手艺仅仅是一种要领。TP-adminTP-admin即基于Th ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • html和js代码互转,html转html5
    本文目录一览:1、html网页跳转javascript代码实现 ... [详细]
  • 活动主题:五一巨献,问答有礼,105QB送给IT互联网界的劳动人民活动时间:4月30日晚上10点~5月2日晚上10点网址:http:ask.jiutianniao.com ... [详细]
  • React图片输入框移动端网页_018
    React-图片输入框-移动端网页gitHub地址觉得有参考价值,点个赞https:github.comxiaopingzh…目录结构.├──README.md├──dist│├─ ... [详细]
  • javascript – 关于微信浏览器的疑问
    后端开发|php教程php,javascript,html5后端开发-php教程现在正在开发移动端webapp,遇到了比较麻烦的问题:用户输入帐号密码登陆后,自动跳转到首页,,QQ ... [详细]
  • 记一道腾讯前端笔试题
    我今年4月投递了腾讯前端开发岗位,很可惜笔试题没通过,48小时内给出答案回复面试官,我的答案太过于简单,所以后面面试官估计也就懒得回我这个菜鸡来(嘤嘤嘤)。当然以我现在的眼光来重新 ... [详细]
  • 1.HTML5原生支持<video>简单使用:<videosrc..TestRestest.mp4autoplaycontrols><vide ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 【MEGA DEAL】Ruby on Rails编码训练营(97%折扣)限时特惠!
    本文介绍了JCG Deals商店提供的Ruby on Rails编码训练营的超值优惠活动,现在只需29美元即可获得,原价为$1,296。Ruby on Rails是一种用于Web开发的编程语言,即使没有编程或网页设计经验,也能在几分钟内构建专业的网站。该训练营共有6门课程,包括使用Ruby on Rails进行BDD的课程,使用RSpec 3和Capybara等。限时特惠,机会难得,赶快行动吧! ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Iamtryingtoachievethearrowpointingupwards..iamtryingtoachieveitinmycssiamnotabl ... [详细]
author-avatar
iwasafool
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有