Professional Javascript for Web Developers

Total Page:16

File Type:pdf, Size:1020Kb

Professional Javascript for Web Developers spine=1.68" Wrox Programmer to ProgrammerTM Wrox Programmer to ProgrammerTM Professional Zakas JavaScript ® for Web Developers, 2nd Edition If you want to achieve JavaScript’s full potential, it is critical to understand its nature, history, and limitations. This book sets the stage by covering JavaScript from its very Professional beginning to the present-day incarnations that include support for the DOM and Ajax. It Developers Web for JavaScript also shows you how to extend this powerful language to meet specific needs and create seamless client-server communication without intermediaries such as Java or hidden frames. You’ll explore basic concepts of JavaScript including its version of object-oriented programming, inheritance, and its use in HTML and XHTML. A detailed discussion of the components that make up a JavaScript implementation follows, with specific focus on standards such as ECMAScript and DOM. All three levels of DOM are explained, including advanced topics such as event simulation, XML parsing, and XPath queries. You’ll also learn how to utilize regular expressions and build dynamic user interfaces. This valuable insight will help you apply JavaScript solutions to the business problems faced by Web developers everywhere. What you will learn from this book ● All of the details regarding JavaScript’s built-in reference types ● How to use object-oriented programming in JavaScript ● Ways to detect the client machine and its capabilities ● Debugging tools and techniques for each browser Professional ● Steps for reading and manipulating XML data ● How to create a custom event framework ● Various techniques for storing data on the client machine ● Approaches to working with JavaScript in an enterprise environment Enhance Your Knowledge Advance Your Career ® ® Who this book is for This book is for Web developers who want to use JavaScript to dramatically improve the usability of their Web sites and Web applications and for those with programming experience, especially object-oriented programming experience. Wrox Professional guides are planned and written by working programmers to meet the real-world needs of programmers, JavaScript developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job. for Web Developers www.wrox.com 2nd Edition 2nd Edition Recommended Programming Languages ISBN: 978-0-470-22780-0 Computer Book Categories JavaScript and VBScript Nicholas C. Zakas $49.99 USA $54.99 CAN Updates, source code, and Wrox technical support at www.wrox.com spine=1.68" Professional JavaScript ® ™ Programmer to Programmer for Web Developers, 2nd Edition Professional JavaScript for Web Developers, 2nd Edition 978-0-470-22780-0 This updated bestseller offers an in-depth look at the JavaScript language, and covers such topics as debugging tools in Microsoft Visual Studio, Get more out of FireBug, and Drosera; client-side data storage with cookies, the DOM, and Flash; client-side graphics with JavaScript including SVG, VML, and Canvas; and design patterns including creational, structural, and behavorial patterns. WROX.com Professional Ajax, 2nd Edition 978-0-470-10949-6 Professional Ajax, 2nd Edition is written for Web application developers looking to enhance the usability of their web sites and Web applications and intermediate JavaScript developers looking to further understand the language. This second edition is updated to cover Prototype, jQuery, FireBug, Microsoft Fiddler, ASP.NET AJAX Extensions, and much more. Interact Chapters on Demand Concise Guide to Dojo Take an active role online by participating in Purchase individual book chapters in pdf 978-0-470-45202-8 our P2P forums format Dojo has rapidly become one of the hottest JavaScript based Web development frameworks. It provides you with the power and flexibility to create attractive and useful dynamic Web applications quickly and easily. In this fast-paced, code-intensive guide, you’ll discover how to quickly start Wrox Online Library Join the Community taking advantage of Dojo. The pages are packed with useful information and insightful examples that will help you. Hundreds of our books are available online Sign up for our free monthly newsletter at through Books24x7.com newsletter.wrox.com Beginning JavaScript and CSS Development with jQuery 978-0-470-22779-4 Beginning JavaScript and CSS Development with jQuery presents the Enhance Your Knowledge world of dynamic Web applications to Web developers from the standpoint Wrox Blox Browse of modern standards. The author shows new JavaScript developers how Download short informational pieces and Ready for more Wrox? We have books and Advance Your Career working with the standard jQuery library will help them to do more with less code and fewer errors. code to keep you up to date and out of e-books available on .NET, SQL Server, Java, trouble! XML, Visual Basic, C#/ C++, and much more! Beginning JavaScript, 3rd Edition 978-0-470-05151-1 This book aims to teach you all you need to know to start experimenting with JavaScript: what it is, how it works, and what you can do with it. Starting from the basic syntax, you'll move on to learn how to create powerful Web applications. Beginning CSS, 2nd Edition 978-0-470-17708-2 Updated and revised, this book offers a hands-on look at designing standards-based, large-scale, professional-level CSS Web sites. Understand designers’ processes from start to finish and gain insight into how designers overcome a site’s unique set of Contact Us. challenges and obstacles. Become comfortable with solving common problems, learn the best practices for using XHMTL with CSS, orchestrate a new look for a blog, tackle browser-compatibility issues, and develop functional navigational structures. We always like to get feedback from our readers. Have a book idea? Need community support? Let us know by e-mailing [email protected] Professional JavaScript® for Web Developers Introduction .............................................................................................. xxix Chapter 1: What Is JavaScript? .......................................................................1 Chapter 2: JavaScript in HTML ......................................................................13 Chapter 3: Language Basics .........................................................................23 Chapter 4: Variables, Scope, and Memory ......................................................79 Chapter 5: Reference Types ..........................................................................97 Chapter 6: Object-Oriented Programming .....................................................151 Chapter 7: Anonymous Functions ................................................................183 Chapter 8: The Browser Object Model .........................................................201 Chapter 9: Client Detection ........................................................................229 Chapter 10: The Document Object Model ....................................................261 Chapter 11: DOM Levels 2 and 3 .................................................................317 Chapter 12: Events .....................................................................................365 Chapter 13: Scripting Forms .......................................................................433 Chapter 14: Error Handling and Debugging ..................................................465 Chapter 15: XML in JavaScript ....................................................................515 Chapter 16: ECMAScript for XML ................................................................547 Chapter 17: Ajax and JSON .........................................................................567 Chapter 18: Advanced Techniques ..............................................................589 Chapter 19: Client-Side Storage ..................................................................617 Chapter 20: Best Practices .........................................................................635 Chapter 21: Upcoming APIs ........................................................................669 Chapter 22: The Evolution of JavaScript ......................................................703 Appendix A: JavaScript Libraries ..................................................................759 Appendix B: JavaScript Tools ......................................................................765 Index .........................................................................................................773 ffirs.indd i 12/8/08 12:02:05 PM ffirs.indd ii 12/8/08 12:02:06 PM Professional JavaScript® for Web Developers 2nd Edition ffirs.indd iii 12/8/08 12:02:06 PM ffirs.indd iv 12/8/08 12:02:06 PM Professional JavaScript® for Web Developers 2nd Edition Nicholas C. Zakas Wiley Publishing, Inc. ffirs.indd v 12/8/08 12:02:06 PM Professional JavaScript® for Web Developers, 2nd Edition Published by Wiley Publishing, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 www.wiley.com Copyright © 2009 by Wiley Publishing, Inc., Indianapolis, Indiana Published simultaneously in Canada ISBN: 978-0-470-22780-0 Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 Library of Congress Cataloging-in-Publication Data Zakas, Nicholas C. Professional JavaScript for web developers/Nicholas C. Zakas. — 2nd ed. p. cm. Includes index.
Recommended publications
  • International Standard Iso 32000-2
    This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-922178 INTERNATIONAL ISO STANDARD 32000-2 First edition 2017-07 Document management — Portable document format — Part 2: PDF 2.0 Gestion de documents — Format de document portable — Partie 2: PDF 2.0 Reference number ISO 32000-2:2017(E) © ISO 2017 This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-922178 ISO 32000-2:2017(E) COPYRIGHT PROTECTED DOCUMENT © ISO 2017, Published in Switzerland All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form orthe by requester. any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address below or ISO’s member body in the country of Ch. de Blandonnet 8 • CP 401 ISOCH-1214 copyright Vernier, office Geneva, Switzerland Tel. +41 22 749 01 11 Fax +41 22 749 09 47 www.iso.org [email protected] ii © ISO 2017 – All rights reserved This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-922178 ISO 32000-2:2017(E) Contents Page Foreword ................................................................................................................................................................. vii Introduction .........................................................................................................................................................
    [Show full text]
  • Security of Web Browser Scripting Languages: Vulnerabilities, Attacks, and Remedies
    The following paper was originally published in the Proceedings of the 7th USENIX Security Symposium San Antonio, Texas, January 26-29, 1998 Security of Web Browser Scripting Languages: Vulnerabilities, Attacks, and Remedies Vinod Anupam and Alain Mayer Bell Laboratories, Lucent Technologies For more information about USENIX Association contact: 1. Phone: 510 528-8649 2. FAX: 510 548-5738 3. Email: [email protected] 4. WWW URL:http://www.usenix.org/ Security of Web Browser Scripting Languages: Vulnerabilities, Attacks, and Remedies Vino d Anupam Alain Mayer Bel l Laboratories, Lucent Technologies 600 Mountain Avenue Murray Hil l, NJ 07974 fanupam,alaing@bel l-labs.com we discovered do es not lead to full system p enetra- Abstract tion where an attacker can access a user's resources While conducting a security analysis of JavaScript les, pro cesses at will. It might thus be argued and VBScript, the most popular scripting languages that such aws are less serious. However, security on the Web, we found some serious aws. Moti- and privacy concerns see, e.g., cover story of Time vated by this outcome, we propose steps towards a Magazine, dated 8/15/97 have b een the single most sound de nition and design of a security framework imp ortant barrier to electronic commerce achieving for scripting languages on the Web. We show that if its multi-billion dollar p otential. In this light, at- such a security framework had been integrated into tacks on a user's security and privacy, are a matter the respective scripting languages from the very be- of serious concern.
    [Show full text]
  • Web Security
    CSE343/443 Lehigh University Fall 2015 Web Security Presenter: Yinzhi Cao Slides Inherited and Modified from Prof. John Mitchell Reported Web Vulnerabilities "In the Wild" 1200 1000 800 Input Validation 600 CSRF XSS SQLi 400 200 0 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 Web application vulnerabilities Goals of web security Safely browse the web n Users should be able to visit a variety of web sites, without incurring harm: w No stolen information (without user’s permission) w Site A cannot compromise session at Site B Secure web applications n Applications delivered over the web should have the same security properties we require for stand- alone applications Network security Network Attacker System Intercepts and controls network communication Alice Web security System Web Attacker Sets up malicious site visited by victim; no control of network Alice Web Threat Models Web attacker n Control attacker.com n Can obtain SSL/TLS certificate for attacker.com n User visits attacker.com w Or: runs attacker’s Facebook app Network attacker n Passive: Wireless eavesdropper n Active: Evil router, DNS poisoning Malware attacker n Attacker escapes browser isolation mechanisms and run separately under control of OS Malware attacker Browsers (like any software) contain exploitable bugs n Often enable remote code execution by web sites n Google study: [the ghost in the browser 2007] w Found Trojans on 300,000 web pages (URLs) w Found adware on 18,000 web pages (URLs) Even if browsers were bug-free, still lots of vulnerabilities
    [Show full text]
  • Netscape 6.2.3 Software for Solaris Operating Environment
    What’s New in Netscape 6.2 Netscape 6.2 builds on the successful release of Netscape 6.1 and allows you to do more online with power, efficiency and safety. New is this release are: Support for the latest operating systems ¨ BETTER INTEGRATION WITH WINDOWS XP q Netscape 6.2 is now only one click away within the Windows XP Start menu if you choose Netscape as your default browser and mail applications. Also, you can view the number of incoming email messages you have from your Windows XP login screen. ¨ FULL SUPPORT FOR MACINTOSH OS X Other enhancements Netscape 6.2 offers a more seamless experience between Netscape Mail and other applications on the Windows platform. For example, you can now easily send documents from within Microsoft Word, Excel or Power Point without leaving that application. Simply choose File, “Send To” to invoke the Netscape Mail client to send the document. What follows is a more comprehensive list of the enhancements delivered in Netscape 6.1 CONFIDENTIAL UNTIL AUGUST 8, 2001 Netscape 6.1 Highlights PR Contact: Catherine Corre – (650) 937-4046 CONFIDENTIAL UNTIL AUGUST 8, 2001 Netscape Communications Corporation ("Netscape") and its licensors retain all ownership rights to this document (the "Document"). Use of the Document is governed by applicable copyright law. Netscape may revise this Document from time to time without notice. THIS DOCUMENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN NO EVENT SHALL NETSCAPE BE LIABLE FOR INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY KIND ARISING FROM ANY ERROR IN THIS DOCUMENT, INCLUDING WITHOUT LIMITATION ANY LOSS OR INTERRUPTION OF BUSINESS, PROFITS, USE OR DATA.
    [Show full text]
  • Casperjs Documentation Release 1.1.0-DEV Nicolas Perriault
    CasperJs Documentation Release 1.1.0-DEV Nicolas Perriault February 04, 2016 Contents 1 Installation 3 1.1 Prerequisites...............................................3 1.2 Installing from Homebrew (OSX)....................................3 1.3 Installing from npm...........................................4 1.4 Installing from git............................................4 1.5 Installing from an archive........................................4 1.6 CasperJS on Windows..........................................5 1.7 Known Bugs & Limitations.......................................5 2 Quickstart 7 2.1 A minimal scraping script........................................7 2.2 Now let’s scrape Google!........................................8 2.3 CoffeeScript version...........................................9 2.4 A minimal testing script......................................... 10 3 Using the command line 11 3.1 casperjs native options.......................................... 12 3.2 Raw parameter values.......................................... 13 4 Selectors 15 4.1 CSS3................................................... 15 4.2 XPath................................................... 16 5 Testing 17 5.1 Unit testing................................................ 17 5.2 Browser tests............................................... 18 5.3 Setting Casper options in the test environment............................. 19 5.4 Advanced techniques........................................... 20 5.5 Test command args and options....................................
    [Show full text]
  • Webassembly a New World of Native Exploits on the Web Agenda
    WebAssembly A New World Of Native Exploits On The Web Agenda • Introduction • The WebAssembly Platform • Emscripten • Possible Exploit Scenarios • Conclusion Wasm: What is it good for? ● Archive.org web emulators ● Image/processing ● Video Games ● 3D Modeling ● Cryptography Libraries ● Desktop Application Ports Wasm: Crazy Incoming ● Browsix, jslinux ● Runtime.js (Node), Nebulet ● Cervus ● eWASM Java Applet Joke Slide ● Sandboxed ● Virtual Machine, runs its own instruction set ● Runs in your browser ● Write once, run anywhere ● In the future, will be embedded in other targets What Is WebAssembly? ● A relatively small set of low-level instructions ○ Instructions are executed by browsers ● Native code can be compiled into WebAssembly ○ Allows web developers to take their native C/C++ code to the browser ■ Or Rust, or Go, or anything else that can compile to Wasm ○ Improved Performance Over JavaScript ● Already widely supported in the latest versions of all major browsers ○ Not limited to running in browsers, Wasm could be anywhere Wasm: A Stack Machine Text Format Example Linear Memory Model Subtitle Function Pointers Wasm in the Browser ● Wasm doesn’t have access to memory, DOM, etc. ● Wasm functions can be exported to be callable from JS ● JS functions can be imported into Wasm ● Wasm’s linear memory is a JS resizable ArrayBuffer ● Memory can be shared across instances of Wasm ● Tables are accessible via JS, or can be shared to other instances of Wasm Demo: Wasm in a nutshell Emscripten ● Emscripten is an SDK that compiles C/C++ into .wasm binaries ● LLVM/Clang derivative ● Includes built-in C libraries, etc. ● Also produces JS and HTML code to allow easy integration into a site.
    [Show full text]
  • Front 01: HTML Y
    HTML Y CSS FRONT PRIMERA PARTE Guía para directivos y técnicos V.1 Front HTML y CSS Este documento forma parte de las guías de onboarding de Autentia. Si te apasiona el desarrollo de software de calidad ayúdanos a difundirlas y anímate a unirte al equipo. Este es un documento vivo y puedes encontrar la última versión, así como el resto de partes que completan este documento, en nuestra web. https://www.autentia.com/libros/ Esta obra está licenciada bajo la licencia Creative Commons Attribution ShareAlike 4.0 International (CC BY-SA 4.0) FRONT - HTML Y CSS Hoy en día el negocio está en la que se publican y organizan los red. Es en el mercado on-line contenidos, además del grado donde se producen la mayor parte de usabilidad y accesibilidad de de los intercambios comerciales los mismos, influye directamente entre clientes y proveedores. en el posicionamiento que los El primer contacto de nuestros motores de búsqueda asignan a usuarios con nuestro negocio, y las aplicaciones. en muchos casos el único, es a través de una aplicación web o móvil. No disponer de un diseño atractivo, una experiencia de usuario agradable, accesible y que se adapte de manera adecuada para ser usada en diferentes dispositivos (Responsive), es garantía de una pérdida masiva de potenciales clientes. De la misma manera, la forma en la FRONT - HTML Y CSS “No hay una segunda oportunidad para una primera impresión” Alcanzar la habilidad de realizar diseños profesionales y usables no es algo baladí y se necesita un conocimiento profundo en marketing digital, experiencia de usuario y en tecnologías front-end.
    [Show full text]
  • Peer Participation and Software
    Peer Participation and Software This report was made possible by the grants from the John D. and Cath- erine T. MacArthur Foundation in connection with its grant-making initiative on Digital Media and Learning. For more information on the initiative visit www.macfound.org. The John D. and Catherine T. MacArthur Foundation Reports on Digital Media and Learning Peer Participation and Software: What Mozilla Has to Teach Government by David R. Booth The Future of Learning Institutions in a Digital Age by Cathy N. Davidson and David Theo Goldberg with the assistance of Zoë Marie Jones The Future of Thinking: Learning Institutions in a Digital Age by Cathy N. Davidson and David Theo Goldberg with the assistance of Zoë Marie Jones New Digital Media and Learning as an Emerging Area and “Worked Examples” as One Way Forward by James Paul Gee Living and Learning with New Media: Summary of Findings from the Digital Youth Project by Mizuko Ito, Heather Horst, Matteo Bittanti, danah boyd, Becky Herr-Stephenson, Patricia G. Lange, C. J. Pascoe, and Laura Robinson with Sonja Baumer, Rachel Cody, Dilan Mahendran, Katynka Z. Martínez, Dan Perkel, Christo Sims, and Lisa Tripp Young People, Ethics, and the New Digital Media: A Synthesis from the GoodPlay Project by Carrie James with Katie Davis, Andrea Flores, John M. Francis, Lindsay Pettingill, Margaret Rundle, and Howard Gardner Confronting the Challenges of Participatory Culture: Media Education for the 21st Century by Henry Jenkins (P.I.) with Ravi Purushotma, Margaret Weigel, Katie Clinton, and Alice J. Robison The Civic Potential of Video Games by Joseph Kahne, Ellen Middaugh, and Chris Evans Peer Production and Software What Mozilla Has to Teach Government David R.
    [Show full text]
  • Document Object Model
    Document Object Model CITS3403: Agile Web Development Semester 1, 2021 Introduction • We’ve seen JavaScript core – provides a general scripting language – but why is it so useful for the web? • Client-side JavaScript adds collection of objects, methods and properties that allow scripts to interact with HTML documents dynamic documents client-side programming • This is done by bindings to the Document Object Model (DOM) – “The Document Object Model is a platform- and language-neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of documents.” – “The document can be further processed and the results of that processing can be incorporated back into the presented page.” • DOM specifications describe an abstract model of a document – API between HTML document and program – Interfaces describe methods and properties – Different languages will bind the interfaces to specific implementations – Data are represented as properties and operations as methods • https://www.w3schools.com/js/js_htmldom.asp The DOM Tree • DOM API describes a tree structure – reflects the hierarchy in the XTML document – example... <html xmlns = "http://www.w3.org/1999/xhtml"> <head> <title> A simple document </title> </head> <body> <table> <tr> <th>Breakfast</th> <td>0</td> <td>1</td> </tr> <tr> <th>Lunch</th> <td>1</td> <td>0</td> </tr> </table> </body> </html> Execution Environment • The DOM tree also includes nodes for the execution environment in a browser • Window object represents the window displaying a document – All properties are visible to all scripts – Global variables are properties of the Window object • Document object represents the HTML document displayed – Accessed through document property of Window – Property arrays for forms, links, images, anchors, … • The Browser Object Model is sometimes used to refer to bindings to the browser, not specific to the current page (document) being rendered.
    [Show full text]
  • Ecma International External Liaison Report for 2013-2014
    Ecma/TC39/2014/029 Ecma/TC49/2014/010 Ecma International External Liaison Report for 2013–2014 Prepared for the ISO/IEC JTC 1/SC 22 Plenary in Madrid, Spain September 8–9, 2014 Prepared by Rex Jaeschke [email protected] Date: 2014-07-17 Recommendation to SC 22 regarding the Portable Common Tool Environment (PCTE) Standards The draft agenda for the 2014 Plenary of SC 22 lists the following standards as being up for Periodic Review: • ISO/IEC 13719-1:1998 Information technology -- Portable Common Tool Environment (PCTE) – Part 1: Abstract specification • ISO/IEC 13719-2:1998 Information technology -- Portable Common Tool Environment (PCTE) – Part 2: C programming language binding • ISO/IEC 13719-3:1998 Information technology -- Portable common tool environment (PCTE) – Part 3: Ada programming language binding • ISO/IEC 13719-4:1998 Information technology -- Portable Common Tool Environment (PCTE) – Part 4: IDL binding (Interface Definition Language) These standards were developed and published by Ecma, and then Fast-Tracked to JTC 1. No work has been done on them since and there is no longer a Technical Committee for PCTE. As such, Ecma recommends that SC 22 stabilize these standards. Ecma (www.ecma-international.org) currently has two Technical Committees, TC39 and TC49 (the latter having multiple Task Groups), with SC 22-related projects, as follows: 1. TC39 (ECMAScript language): ECMAScript 5th edition was adopted by the Ecma General Assembly in December 2009, and then published as ISO/IEC 16262:2011 (which ECMA-262 edition 5.1 now matches). The editor of record for the standard is Allen Wirfs-Brock.
    [Show full text]
  • XML: Looking at the Forest Instead of the Trees Guy Lapalme Professor Département D©Informatique Et De Recherche Opérationnelle Université De Montréal
    XML: Looking at the Forest Instead of the Trees Guy Lapalme Professor Département d©informatique et de recherche opérationnelle Université de Montréal C.P. 6128, Succ. Centre-Ville Montréal, Québec Canada H3C 3J7 [email protected] http://www.iro.umontreal.ca/~lapalme/ForestInsteadOfTheTrees/ Publication date April 14, 2019 XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/ XML: Looking at the Forest Instead of the Trees Guy Lapalme Professor Département d©informatique et de recherche opérationnelle Université de Montréal C.P. 6128, Succ. Centre-Ville Montréal, Québec Canada H3C 3J7 [email protected] http://www.iro.umontreal.ca/~lapalme/ForestInsteadOfTheTrees/ Publication date April 14, 2019 Abstract This tutorial gives a high-level overview of the main principles underlying some XML technologies: DTD, XML Schema, RELAX NG, Schematron, XPath, XSL stylesheets, Formatting Objects, DOM, SAX and StAX models of processing. They are presented from the point of view of the computer scientist, without the hype too often associated with them. We do not give a detailed description but we focus on the relations between the main ideas of XML and other computer language technologies. A single compact pretty-print example is used throughout the text to illustrate the processing of an XML structure with XML technologies or with Java programs. We also show how to create an XML document by programming in Java, in Ruby, in Python, in PHP, in E4X (Ecmascript for XML) and in Swift. The source code of the example XML ®les and the programs are available either at the companion web site of this document or by clicking on the ®le name within brackets at the start of the caption of each example.
    [Show full text]
  • Casperjs Documentation Release 1.1.0-DEV
    CasperJs Documentation Release 1.1.0-DEV Nicolas Perriault Sep 13, 2018 Contents 1 Installation 3 1.1 Prerequisites...............................................3 1.2 Installing from Homebrew (OSX)....................................4 1.3 Installing from npm...........................................4 1.4 Installing from git............................................4 1.5 Installing from an archive........................................5 1.6 CasperJS on Windows..........................................5 1.7 Known Bugs & Limitations.......................................6 2 Quickstart 7 2.1 A minimal scraping script........................................7 2.2 Now let’s scrape Google!........................................8 2.3 CoffeeScript version...........................................9 2.4 A minimal testing script......................................... 10 3 Using the command line 11 3.1 casperjs native options.......................................... 12 3.2 Raw parameter values.......................................... 13 4 Selectors 15 4.1 CSS3................................................... 15 4.2 XPath................................................... 16 5 Testing 17 5.1 Unit testing................................................ 17 5.2 Browser tests............................................... 18 5.3 Setting Casper options in the test environment............................. 19 5.4 Advanced techniques........................................... 20 5.5 Test command args and options....................................
    [Show full text]