H5 새로운 기능

5916 단어
1. 전체 화면화(FullScreen)
1.1 전체 화면 들어가기
elem.webkitRequestFullScreen(); //    webkit       (Chrome / Safari / Opera)
title.mozRequestFullScreen(); //    (Firfox)

1.2 전체 화면 종료
document.webkitRequestFullScreen();

1.3 주의
  • 전체 화면 조작은 사용자가 처리해야 하며 코드가 위에서 아래로 실행되어 효과를 촉발할 수 없음
  • 전체 화면을 종료하려면 현재 요소 호출 방법을 사용할 수 없고 문서 대상을 사용합니다
  • 2. 애니메이션 효과에 대한 API(AnimationFrame)
    2.1 장점:
  • 브라우저는 병렬된 애니메이션 동작을 최적화하고 동작 서열을 합리적으로 재배열하여 더욱 유창한 애니메이션 효과를 나타낼 수 있다.
  • 만약에 브라우저 탭에서 애니메이션을 실행하면 이 탭이 보이지 않을 때 브라우저가 그것을 멈추게 된다. 그러면 CPU, 메모리의 압력을 줄이고 배터리 전력을 절약할 수 있다.

  • 2.2 오픈 및 취소
    requestAnimationFrame()
    cancelAnimationFrame()
    

    2.3 주의
    setInterval, setTimeout, requestAnimationFrame은 변수에 값을 부여한 후console.log는 순서의 숫자로 나오고 삼자의 차이를 구분하지 않기 때문에 삼자를 취소할 때 직접 취소할 수 있다. 방법은 다음과 같다.
       for (var i = 1; i <= 4; i++) {
            clearInterval(i);
            clearTimeout(i);
            cancelAnimationFrame(i);
        }
    

    3. 로컬 스토리지
    3.1 차이점:
  • cookie: 저장 데이터량이 적고 저장 시간을 설정할 수 있으며 기한이 되면 자동으로 삭제
  • localStorage: 데이터를 장치에 저장하여 영구적으로 저장할 수 있으며 주동적으로 삭제해야 한다
  • sessionStorage: 데이터를 임시로 저장하고 현재 페이지를 떠나서 삭제
  • 3.2cookie
    대부분의 브라우저는 최대 4k의 쿠키를 지원하며 20개의 쿠키만 저장할 수 있습니다
    3.3 웹스토어 방법
  • setItem()보존
  • getItem() 추출
  • removeItem() 삭제
  • clear() 제거
  • 코드 실례는 다음과 같다.
      
    sessionStorage.setItem('key1', 'value1');
    sessionStorage.setItem('key2', JSON.stringify([1, 2, 3, 4]));
    sessionStorage.setItem('key3', JSON.stringify({ name: "xiaoming" }));
      
    sessionStorage.getItem('key3');
      
    sessionStorage.removeItem('key2');
      
    sessionStorage.clear();
      
    localStorage.setItem('key1', 'value1');
    

    4. 오프라인 캐시 manfest
    4.1 소개
  • manfest는 같은 이름의 접미사가 manfest인 파일로 파일에서 캐시가 필요한 파일을 정의하고 manfest를 지원하는 브라우저로 manfest 파일의 규칙에 따라 데이터를 저장하여 네트워크가 없는 상황에서도 접근할 수 있다
  • 첫 번째로 앱 캐치를 정확하게 설정한 후 이 앱을 다시 방문할 때 브라우저는 manfest에 변동이 있는지 먼저 확인하고 변동이 있으면 해당하는 변화를 업데이트하며 브라우저의 앱 캐치를 변경한다. 변동이 없으면 앱 캐치의 자원을 직접 되돌려준다
  • 4.2 특징
  • 오프라인 조회: 사용자는 오프라인 상태에서 사이트의 오래된 데이터를 조회할 수 있다
  • 빠른 속도: 데이터가 로컬에 저장되므로 속도가 빠릅니다
  • .
  • 서버 부하 감소: 브라우저는 서버에서 변경된 자원만 다운로드
  • 4.3 사용
  • html 탭에 manfest 속성을 추가하여 현재 페이지의 manfest 파일을 지정합니다
  • html과 같은 이름의 manfest 파일을 만들고 index에 줍니다.html 파일 속성 추가
  • html 파일 설정 완료, 뒤에 manifest 파일 조작
  • 4.4 manifest 파일 작성 - 일반적인 쓰기
    CACHE MANIFEST는 # 번호로 시작하는 주석입니다.
    #version 1.3
       css/index.css
       js/index.js
       index.html
    

    4.5 캐시 업데이트 방법
  • manfest 파일을 업데이트하여 manfest에 파일을 추가하거나 삭제할 수 있습니다. 캐시를 업데이트할 수 있습니다. 만약에 js를 변경했지만 새로 추가하거나 삭제하지 않았다면 앞의 버전 번호는 manfest 파일을 업데이트하는 데 사용될 수 있습니다
  • javascript 작업 HTML5를 통해 JS 작업 오프라인 캐시를 도입하는 방법window.applicationCache.update();
  • 브라우저 캐시 지우기 사용자가 브라우저 캐시를 지우면 파일을 다시 다운로드합니다
  • 5. 지리적 위치
    5.1 Navigator 객체
  • 에 포함된 속성은 사용 중인 브라우저를 설명합니다
  • .
  • JavaScript의 브라우저가 이 대상을 지원합니다.
  • 윈도 대상의navigator 속성으로 인용할 수 있습니다.

  • 5.2 geolocation 객체
  • 지리적 위치 API는navigator를 통과한다.geolocation 제공
  • 이 대상이 존재하면 지리적 위치 서비스를 사용할 수 있습니다.
  • if ("geolocation" in navigator) {
      /*          */
    } else {
      /*           */
    }
    

    5.3 현재 위치 가져오기
  • getCurrentPosition()이 현재 위치를 가져옵니다.포지셔닝이 확정되면 정의된 리셋 함수가 실행됩니다.
  • 첫 번째 파라미터가 성공 시 리셋
  • 두 번째 리셋 함수는 오류가 있을 때 실행됩니다.
  • 세 번째 파라미터도 선택할 수 있습니다. 이 대상 파라미터를 통해 가장 긴 포지셔닝 반환 시간, 요청을 기다리는 시간과 높은 정밀도를 얻을 수 있는지 설정할 수 있습니다.

  • 코드 예는 다음과 같다.
    window.navigator.geolocation.getCurrentPosition(function (info) { //      
        console.log('successed');
        console.log(info);
    }, function (info) { //      
        console.log('error');
        console.log(info);
    }, { //     
    });
    

    6. 작업 스레드 웹 워크맨
    6.1 의미
  • 일반 스크립트가 페이지에서 스크립트를 실행할 때 스크립트가 완성될 때까지 페이지의 상태는 응답할 수 없습니다.
  • 웹 워크맨이 백엔드에서 실행되는javascript는 다른 스크립트와 독립되어 페이지의 성능에 영향을 주지 않으며 페이지 응답 가능
  • 6.2 웹 워크맨을 만들기 전에 사용자의 브라우저가 이를 지원하는지 확인하십시오.
    //       
    if (typeof Worker !== 'undefined') {
        console.log('  ');
        //     
        var w = new Worker('./js/worker.js');
        //   worker.js     
        w.onmessage = function (e) {
            console.log(e.data);
            $('title').innerHTML = e.data;
        };
    } else {
        console.log('   ');
    }
    

    6.3 웹 워크맨 만들기
  • 웹 워크러와 관련된 코드를 별도의 JavaScript 파일에 배치합니다.
  • 부모 루틴은 워커 구조 함수에 자바스크립트 파일의 링크를 지정하여 새로운 워크맨을 만들고 자바스크립트 파일을 비동기적으로 불러오고 실행합니다
  •  var w = new Worker('./js/worker.js');
    

    7. 템플릿 엔진template
    7.1 의미
  • 데이터에 따라 HTML 코드 세그먼트를 신속하게 생성하여 HTML 구조에 삽입하여 표시
  • HTML과 자바스크립트를 혼합한 다음에 데이터를 부여하면 HTML 코드 세션을 생성할 수 있는 구조를 먼저 작성한다
  • http://wangxiao.github.io/BaiduTemplate/

  • 7.2baiduTemplate를 보여 주십시오.js 템플릿 엔진?
    코드 예는 다음과 같다. <h1> : <%=name%></h1> <h2> :<%=age%> </h2> <ul> <%for (var i = 0; i < foods.length; i++) {%> <li><%=foods[i]%></li> <%}%> </ul> // var data = { name: ' ', age: 13.5, foods: [ ' ', ' ', ' ' ] }; // html var html = baidu.template('header', data); document.getElementById("result").innerHTML = html;
    7.3 BaiduTemplate와 비슷한 템플릿 엔진
    예를 들어, artTemplate.js, 문법 유사http://www.jq22.com/jquery-info1097

    좋은 웹페이지 즐겨찾기