Book Image

jQuery HOTSHOT

By : Dan Wellman
Book Image

jQuery HOTSHOT

By: Dan Wellman

Overview of this book

jQuery is used by millions of people to write JavaScript more easily and more quickly. It has become the standard tool for web developers and designers to add dynamic, interactive elements to their sites, smoothing out browser inconsistencies and reducing costly development time.jQuery Hotshot walks you step by step through 10 projects designed to familiarise you with the jQuery library and related technologies. Each project focuses on a particular subject or section of the API, but also looks at something related, like jQuery's official templates, or an HTML5 feature like localStorage. Build your knowledge of jQuery and related technologies.Learn a large swathe of the API, up to and including jQuery 1.9, by completing the ten individual projects covered in the book. Some of the projects that we'll work through over the course of this book include a drag-and-drop puzzle game, a browser extension, a multi-file drag-and-drop uploader, an infinite scroller, a sortable table, and a heat map. Learn which jQuery methods and techniques to use in which situations with jQuery Hotshots.
Table of Contents (18 chapters)
jQuery HOTSHOT
Credits
Foreword
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Adding a sandboxed JsRender template


In this task we can add the template that JsRender will use to display the saved contacts. At this point we don't have any saved, but we can still wire it up ready, and then when we do have some contacts, they'll be rendered into the popup without any fuss.

Prepare for Lift Off

Chrome uses a Content Security Policy (CSP) in order to prevent a large number of common cross-site scripting (XSS) attacks, and because of this we are not allowed to execute any scripts that use either eval() or new Function().

The JsRender templating library, like many other popular libraries and frameworks, uses new Function() when compiling templates and therefore is not allowed to run directly inside the extension. There are two ways we can overcome this problem:

  • We could switch to a templating library that offers a pre-compilation of templates, such as the popular Dust.js. We could then compile our template outside of the extension in a browser and link to a JavaScript file containing...