Detailed instructions for use are in the User's Guide.
Dreamweaver API Reference
Trademarks Add Life to the Web, Afterburner, Aftershock, Andromedia, Allaire, Animation PowerPack, Aria, Attain, Authorware, Authorware Star, Backstage, Bright Tiger, Clustercats, Cold Fusion, Contribute, Design in Motion, Director, Dream Templates, Dreamweaver, Drumbeat 2000, EDJE, EJIPT, Extreme 3D, Fireworks, Flash, Fontographer, FreeHand, Generator, HomeSite, JFusion, JRun, Kawa, Know Your Site, Knowledge Objects, Knowledge Stream, Knowledge Track, LikeMinds, Lingo, Live Effects, MacRecorder Logo and Design, Macromedia, Macromedia Action!, Macromedia Flash, Macromedia M Logo & Design, Macromedia Spectra, Macromedia xRes Logo and Design, MacroModel, Made with Macromedia, Made with Macromedia Logo and Design, MAGIC Logo and Design, Mediamaker, Movie Critic, Open Sesame!, Roundtrip HTML, Shockwave, Sitespring, SoundEdit, Titlemaker, UltraDev, Web Design 101, what the web can be, and Xtra are either registered or trademarks of Macromedia, Inc. and may be registered in the United States or in other jurisdictions including internationally. Other product names, logos, designs, titles, words or phrases mentioned within this publication may be trademarks, servicemarks, or tradenames of Macromedia, Inc. or other entities and may be registered in certain jurisdictions including internationally. Third-Party Information This guide contains links to third-party websites that are not under the control of Macromedia, and Macromedia is not responsible for the content on any linked site. If you access a third-party website mentioned in this guide, then you do so at your own risk. Macromedia provides these links only as a convenience, and the inclusion of the link does not imply that Macromedia endorses or accepts any responsibility for the content on those third-party sites. Third Party Software Notices and/or Additional Terms and Conditions can be found at www.macromedia.com/go/thirdparty/. Opera ® browser Copyright © 1995-2002 Opera Software ASA and its suppliers. All rights reserved. Apple Disclaimer APPLE COMPUTER, INC. MAKES NO WARRANTIES, EITHER EXPRESS OR IMPLIED, REGARDING THE ENCLOSED COMPUTER SOFTWARE PACKAGE, ITS MERCHANTABILITY OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. THE EXCLUSION OF IMPLIED WARRANTIES IS NOT PERMITTED BY SOME STATES. THE ABOVE EXCLUSION MAY NOT APPLY TO YOU. THIS WARRANTY PROVIDES YOU WITH SPECIFIC LEGAL RIGHTS. THERE MAY BE OTHER RIGHTS THAT YOU MAY HAVE WHICH VARY FROM STATE TO STATE. Copyright © 1997-2003 Macromedia, Inc. All rights reserved. This manual may not be copied, photocopied, reproduced, translated, or converted to any electronic or machine-readable form in whole or in part without prior written approval of Macromedia, Inc. Part Number ZDW70M400 Acknowledgments Senior Management: Sheila McGinn Project Management: Robert Berry Writing: Robert Berry and David Jacowitz Editing Management: Lisa Stanziano Editing: Mary Kraemer Production Management: Patrice O'Neill Media Design and Production: Adam Barnett, Aaron Begley, Chris Basmajian, John Francis, Jeff Harmon Special thanks to Jay London, Jeff Schang, Lori Hylan-Cho, Hisami Scott, Sam Mathews, Jake Cockrell, Russ Helfand, Randy Edmunds, George Comninos, Rosana Francescato, Charles Nadeau, and the entire Dreamweaver engineering and QA teams. First Edition: November 2003 Macromedia, Inc. 600 Townsend St. San Francisco, CA 94103
CONTENTS
CHAPTER 1: Introduction.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Background. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Extending Dreamweaver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Additional resources for extension writers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 New functions in Dreamweaver MX 2004 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Removed functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Page content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Enablers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Other . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Documentation changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Errata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Conventions used in this guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
PART I: Utility APIs
CHAPTER 2: The File I/O API .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 33 33 34 34 35 35 36 37 37 38 38 38 39 40
Accessing configuration folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The File I/O API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DWfile.copy() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DWfile.createFolder(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DWfile.exists() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DWfile.getAttributes() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DWfile.getModificationDate() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DWfile.getCreationDate() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DWfile.getCreationDateObj() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DWfile.getModificationDateObj() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DWfile.getSize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DWfile.listFolder() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DWfile.read() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DWfile.remove() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
DWfile.setAttributes() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 DWfile.write() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
CHAPTER 3: The HTTP API .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
How the HTTP API works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 The HTTP API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 MMHttp.clearTemp() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 MMHttp.getFile() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 MMHttp.getFileCallback(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
CHAPTER 4: The Design Notes API .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
How Design Notes work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 The Design Notes JavaScript API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 MMNotes.filePathToLocalURL() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 MMNotes.get() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 MMNotes.getKeyCount() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 MMNotes.getKeys() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 MMNotes.getSiteRootForFile() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 MMNotes.getVersionName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 MMNotes.getVersionNum(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 MMNotes.localURLToFilePath() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 MMNotes.open() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 MMNotes.remove() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 MMNotes.set(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 The Design Notes C API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 void CloseNotesFile() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 BOOL FilePathToLocalURL() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 BOOL GetNote(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 int GetNoteLength() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 int GetNotesKeyCount() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 BOOL GetNotesKeys() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 BOOL GetSiteRootForFile() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 BOOL GetVersionName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 BOOL GetVersionNum(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 BOOL LocalURLToFilePath() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 FileHandle OpenNotesFile(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 FileHandle OpenNotesFilewithOpenFlags() . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 BOOL RemoveNote() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 BOOL SetNote() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
CHAPTER 5: Fireworks Integration. . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
The FWLaunch API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 FWLaunch.bringFWToFront(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 FWLaunch.execJsInFireworks() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 FWLaunch.getJsResponse() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 FWLaunch.mayLaunchFireworks() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 FWLaunch.optimizeInFireworks() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 FWLaunch.validateFireworks(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4
Contents
CHAPTER 6: Flash Integration
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 71 71 72 72 72 73 74 75 75
How Flash elements work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inserting Flash elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding a Flash element to the Insert Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding a Flash Element to a menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Flash Objects API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SWFFile.createFile() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SWFFile.getNaturalSize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SWFFile.getObjectType() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SWFFile.readFile() . . . . . . . . . . . ...