شروع دوره های تخصصی, پایتون | هوش مصنوعی 18 دی شروع دوره های تخصصی, پایتون | هوش مصنوعی 18 دی
ثبت نام
TIFFANY B. BROWN KERRY BUTTERS SANDEEP PANDA

JUMP START HTML5

نویسنده :TIFFANY B. BROWN KERRY BUTTERS SANDEEP PANDA

     

    Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
    Who Should Read This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx
    Conventions Used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx
    Code Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx
    Tips, Notes, and Warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii
    Supplementary Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii
    Tools You’ll Need . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii
    Do You Want to Keep Learning? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
    Chapter 1 Basics: What is HTML5? . . . . . . . . . . . . . . . . 1
    A Brief History of HTML5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
    HTML: The Early Years . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
    A Detour Through XHTML Land . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
    The Battle for World DOM-ination . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
    Applets and Plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
    What HTML5 Isn’t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
    A Note on the HTML5 Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
    Chapter 2 Basics: The Anatomy of
    HTML5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
    Your First HTML5 Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
    The Two Modes of HTML5 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
    HTML Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
    To Quote or Not Quote: Attributes in HTML5 . . . . . . . . . . . . . . . . . . 12
    A Pared-down HTML5 Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
    "XHTML5": HTML5’s XML Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xixWho Should Read This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxConventions Used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxCode Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxTips, Notes, and Warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiiSupplementary Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiiTools You’ll Need . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiiDo You Want to Keep Learning? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxivChapter 1 Basics: What is HTML5? . . . . . . . . . . . . . . . . 1A Brief History of HTML5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2HTML: The Early Years . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2A Detour Through XHTML Land . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3The Battle for World DOM-ination . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Applets and Plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4What HTML5 Isn’t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5A Note on the HTML5 Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Chapter 2 Basics: The Anatomy ofHTML5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Your First HTML5 Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8The Two Modes of HTML5 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9HTML Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10To Quote or Not Quote: Attributes in HTML5 . . . . . . . . . . . . . . . . . . 12A Pared-down HTML5 Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12"XHTML5": HTML5’s XML Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix

    Who Should Read This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx

    Conventions Used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx

    Code Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx

    Tips, Notes, and Warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii

    Supplementary Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii

    Tools You’ll Need . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii

    Do You Want to Keep Learning? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv

    Chapter 1 Basics: What is HTML5? . . . . . . . . . . . . . . . . 1

    A Brief History of HTML5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    HTML: The Early Years . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    A Detour Through XHTML Land . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    The Battle for World DOM-ination . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    Applets and Plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    What HTML5 Isn’t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    A Note on the HTML5 Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    Chapter 2 Basics: The Anatomy of

    HTML5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    Your First HTML5 Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    The Two Modes of HTML5 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    HTML Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    To Quote or Not Quote: Attributes in HTML5 . . . . . . . . . . . . . . . . . . 12

    A Pared-down HTML5 Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    "XHTML5": HTML5’s XML Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    Chapter 3 Basics: Structuring Documents . . . . . . 17

    The article Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    Putting It Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    The section Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    div Versus section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    Other Document Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    figure and figcaption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    main Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    Chapter 4 Basics: HTML5 Forms . . . . . . . . . . . . . . . . . . 33

    Starting an HTML5 Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    The input Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    Collecting Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    Using Form Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    Requiring Form Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    Styling Required Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    Collecting Email Addresses, Phone Numbers, and URLs . . . . . . . . . . 38

    Uploading Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    The datalist Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

    Other Input Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    Date and Time Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

    Chapter 5 Basics: Multimedia, Audio and

    Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

    Adding Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    Autoplaying and Looping Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

    Video-only Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    Place Holding with poster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    Controlling Video Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    Bandwidth Use and Playback Responsiveness . . . . . . . . . . . . . . . . . . . . . . 55

    Cross-browser Audio and Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    Using Multiple Video or Audio Files . . . . . . . . . . . . . . . . . . . . . . . . . . 58

    Chapter 6 Multimedia: Preparing Your

    Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    Codec Showdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    The Current Landscape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

    Converting Files Using Miro Video Converter . . . . . . . . . . . . . . . . . . . . . . 61

    Converting Media Using FFmpeg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

    Resizing Video Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

    Using FFmpeg to Generate a Poster Image . . . . . . . . . . . . . . . . . . . . 67

    Using a Hosted Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

    Quality Versus File Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

    Chapter 7 Multimedia: Using Native HTML5

    Audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

    The audio Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

    The autoplay Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

    Looping Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

    Muting Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    Buffer Hinting with the preload Attribute . . . . . . . . . . . . . . . . . . . . . . . 72

    preload="auto" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

    preload="none" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

    preload="metadata" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

    Fallback Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    Chapter 8 Multimedia: Using Native HTML5

    Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

    Setting Video Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

    Percentages for Height . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

    Setting a Poster Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

    What We've Learned So Far . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

    Chapter 9 Multimedia: The source

    Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

    The source Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

    Format Hinting With the type Attribute . . . . . . . . . . . . . . . . . . . . . . . . . 88

    Troubleshooting Media Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

    Responsive Video With the media Attribute . . . . . . . . . . . . . . . . . . . . . . 90

    Serving Videos With Different Aspect Ratios . . . . . . . . . . . . . . . . . . 90

    So Far We've Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

    Chapter 10 Mutimedia: The track Element . . . . . 93

    The State of track Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

    Captions, Subtitles, and audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

    Adding the track Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

    Specifying Subtitles, Captions, and Metadata . . . . . . . . . . . . . . . . . . . . . . 96

    Using Multiple track Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

    Specifying the Language of Your Text Tracks . . . . . . . . . . . . . . . . . . . . . . 98

    Labeling Your Tracks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

    Creating Text Tracks With WebVTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

    What is WebVTT? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

    Creating a Simple WebVTT File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

    WebVTT Cue Spans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

    Styling Subtitles and Captions with the ::cue

    Pseudo-element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

    What We've Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

    Chapter 11 Multimedia: Scripting Media

    Players . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

    Event-Driven DOM Scripting: An Introduction . . . . . . . . . . . . . . . . . . . . 112

    Step 1: Creating Our Markup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

    Step 2: Retrieving Our Video Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

    Step 2: Playing and Pausing Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

    Step 3: Determining the File's Duration . . . . . . . . . . . . . . . . . . . . . . . . . . 117

    Step 4: Indicating Time Elapsed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

    Step 5: Seeking Using a range Input Type . . . . . . . . . . . . . . . . . . . . . . . 119

    Step 6: Adjusting Volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

    Hinting at Bandwidth Consumption by Changing the Value of

    preload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

    Wrapping Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

    Chapter 12 Canvas & SVG: An Introduction to

    Canvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

    What Can Canvas Be Used For? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

    Before We Get Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

    Canvas Looks Complex, Why Not Use Flash? . . . . . . . . . . . . . . . . . . . . . . 125

    What About WebGL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

    Chapter 13 Canvas & SVG: Canvas Basics . . . . . . 127

    HTML5 Canvas Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

    Drawing a Simple Shape Onto the Canvas . . . . . . . . . . . . . . . . . . . . . . . 128

    Canvas Coordinates and Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

    Drawing Circles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

    Drawing Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

    Drawing a Triangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

    Canvas Sizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

    Scaling with JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

    Scaling with CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

    CSS Transforms Using JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

    Chapter 14 Canvas & SVG: Handling

    Non-supporting Browsers . . . . . . . . . . . . 137

    Create Alternative Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

    Chapter 15 Canvas & SVG: Canvas

    Gradients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

    Radial Gradients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

    Playing with the Color Stops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

    Chapter 16 Canvas & SVG: Canvas Images and

    Videos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

    Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

    Using the image() Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

    Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

    Chapter 17 Canvas & SVG: An Introduction to

    SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

    Why Use SVG Instead of JPEG, PNG, or GIF? . . . . . . . . . . . . . . . . . . . . . . 150 

    Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

    Other Shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

    Gradients and Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

    Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

    Chapter 18 Canvas & SVG: Using SVG . . . . . . . . . . 159

    Inserting SVG Images on Your Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

    Which Method Should You Use? . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

    SVG Tools and Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

    Chapter 19 Canvas & SVG: SVG Bézier

    Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

    Quadratic Bézier Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

    Cubic Bézier Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

    Chapter 20 Canvas & SVG: SVG Filter

    Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

    Using Filter Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

    Playing with Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

    Chapter 21 Canvas & SVG: Canvas or SVG? . . . 175

    Creation Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

    Typical Uses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

    Chapter 22 Offline Apps: Detecting When the

    User Is Connected . . . . . . . . . . . . . . . . . . . . . . 179

    Determining Whether the User Is Online . . . . . . . . . . . . . . . . . . . . . . . . . 179

    Listening for Changes in Connectivity State . . . . . . . . . . . . . . . . . . . . . . 180

    Online and Offline Events in Internet Explorer 8 . . . . . . . . . . . . . . 181

    Limitations of navigator.onLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

    Checking Connectivity With XMLHttpRequest . . . . . . . . . . . . . . . . . . 182

    What You’ve Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

    Chapter 23 Offline Apps: Application

    Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

    Cache Manifest Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

    Saving Files Locally with the CACHE: Section Header . . . . . . . . . 186

    Forcing Network Retrieval with NETWORK: . . . . . . . . . . . . . . . . . . 187

    Specifying Alternative Content for Unavailable URLs . . . . . . . . . . 188

    Specifying Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

    Adding the Cache Manifest to Your HTML . . . . . . . . . . . . . . . . . . . . . . . 189

    Serving the Cache Manifest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

    Avoiding Application Cache “Gotchas” . . . . . . . . . . . . . . . . . . . . . . . . . . 189

    Solving Gotcha #1: Loading Uncached Assets from a Cached

    Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

    Solving Gotcha #2: Updating the Cache . . . . . . . . . . . . . . . . . . . . . 190

    Cache Gotcha #3: Break One File, Break Them All . . . . . . . . . . . . . 190

    Testing for Application Cache Support . . . . . . . . . . . . . . . . . . . . . . . . . . 191

    The Application Cache API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

    The AppCache Event Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

    Setting Up Our Cache Manifest . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

    Setting Up Our HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

    Setting Up Our CSS and JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . 194

    Chapter 24 Offline Apps: Web Storage . . . . . . . . . . . 197

    Why Use Web Storage Instead of Cookies? . . . . . . . . . . . . . . . . . . . . . . . 198

    Browser Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

    Inspecting Web Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

    Testing for Web Storage Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

    Setting Up Our HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

    Saving Values With localStorage.setItem() . . . . . . . . . . . . . . . . 201

    Adding an Event Listener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

    Using localStorage.setItem to Update Existing Values . . . . 203

    Retrieving Values With localStorage.getItem() . . . . . . . . . . . . . 203

    Alternative Syntaxes for Setting and Getting Items . . . . . . . . . . . 205

    Looping Over Storage Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

    Clearing the Storage Area With localStorage.clear() . . . . . . . . 207

    Storage Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

    Listening for the Storage Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

    The StorageEvent Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

    Storage Events Across Browsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

    Determining Which Method Caused the Storage Event . . . . . . . . 209

    Storing Arrays and Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

    Limitations of Web Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

    Chapter 25 Offline Apps: Storing Data With

    Client-side Databases . . . . . . . . . . . . . . . . . . 215

    The State of Client-side Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

    About IndexedDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

    Setting up Our HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218

    Creating a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

    Adding an Object Store . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

    Adding a Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

    Retrieving and Iterating Over Records . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

    Creating a Cursor Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

    Retrieving a Subset of Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

    Retrieving or Deleting Individual Entries . . . . . . . . . . . . . . . . . . . . . . . . . 228

    Updating a Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

    Deleting a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

    Wrapping Up and Learning More . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

    Chapter 26 APIs: Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 233

    A Quick Tour of the HTML5 APIs Covered . . . . . . . . . . . . . . . . . . . . . . . . 233

    What You Are Going to Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

    Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

    Checking Browser Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . 236

    Setting Up the Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238

    Chapter 27 APIs: Web Workers . . . . . . . . . . . . . . . . . . . . . 239

    Introduction and Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

    Passing JSON data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

    Web Worker Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

    More Advanced Workers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

    Inline Workers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

    Creating Subworkers Inside Workers . . . . . . . . . . . . . . . . . . . . . . . . 246

    Using External Scripts within Workers . . . . . . . . . . . . . . . . . . . . . . 246

    Security Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

    Polyfills for Older Browsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

    Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

    Chapter 28 APIs: The Geolocation API . . . . . . . . . . 249

    Hitting the Surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249

    Continuously Monitoring Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

    Accuracy of Geolocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

    Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254

    Chapter 29 APIs: Server Sent Events . . . . . . . . . . . . . 255

    The Motivation for SSEs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

    The API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

    The EventStream Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

    How About a Little JSON? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

    Associating an Event ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

    Creating Your Own Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

    Handling Reconnection Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

    Closing a Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

    A Sample Event Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

    Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

    Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

    Chapter 30 APIs: The WebSocket API . . . . . . . . . . . 263

    The JavaScript API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

    Sending Binary Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266

    Sample Server Implementations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

    Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

    Chapter 31 APIs: The Cross-document

    Messaging API . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

    The JavaScript API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270

    Basic Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270

    Detecting the Readiness of the Document . . . . . . . . . . . . . . . . . . . . . . . 275

    Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276

     

1394/07/27 2404 381
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
کتاب های مرتبط
آموزش کار با رشته ها در سی شارپ

کتاب آموزش گام به گام Html به زبان فارسی

آموزش آنلاين کتاب آموزش گام به گام Html به زبان فارسی

نویسنده: افشین رفوآ

زبان: فارسی

مشاهده کتاب و دانلود
آموزش کار با رشته ها در سی شارپ

کتاب آموزش گام به گام Bootstrap به زبان فارسی

کتاب آموزش گام به گام Bootstrap به زبان فارسی

نویسنده: افشین رفوآ

زبان: فارسی

مشاهده کتاب و دانلود
آموزش کار با رشته ها در سی شارپ

کتاب آموزش گام به گام CSS به زبان فارسی

کتاب آموزش گام به گام Bootstrap به زبان فارسی

نویسنده: افشین رفوآ

زبان: فارسی

مشاهده کتاب و دانلود
نظرات شما

نظرات خود را ثبت کنید...