You are previewing Adobe GoLive CS2 Official JavaScript Reference.
O'Reilly logo
Adobe GoLive CS2 Official JavaScript Reference

Book Description

Written by the engineers and scripting experts at Adobe–and now available for the first time in print–this book is an essential reference guide for developers who want to extend the capabilities of Adobe GoLive CS2 using JavaScript and the special markup tags that the GoLive CS2 SDK (Software Developer’s Kit) provides. If you’re familiar with GoLive, JavaScript, and C and C++ programming, you’ll find the information you need to create custom tools and extensions tailored to your specific GoLive tasks. For example, you can create floating palettes and task-specific dialogs that include text, graphics, and controls; add custom HTML elements that can be edited in an Inspector palette; add new controls to the Objects palette–anything that helps streamline your company’s GoLive workflow. And since nearly all of the user commands in GoLive are made available in JavaScript, you can use JavaScript to automate repetitive tasks--for example, editing all the documents on your Web site automatically, or customizing menu items in GoLive according to the contents of a specific database. These are just a few of the ways that scripting can save you from hours of time-consuming tasks in GoLive.

Table of Contents

  1. Copyright
  2. Preface
    1. Advisory of previous publication
    2. About the Adobe GoLive CS2 SDK
    3. About This Book
      1. Who should read this book
      2. What is in this book
      3. Document conventions
        1. Typographical conventions
        2. JavaScript conventions
      4. Case sensitivity
    4. Where to go for more information
  3. 1. SDK Programmer’s Guide
    1. 1. Installing and Configuring the GoLive SDK
      1. Installing the GoLive CS2 SDK
        1. Installing the core set of tools and sample extensions
          1. Installing the core extensions
          2. Uninstalling an extension
      2. Configuring GoLive for Extension Development
        1. Enabling the Extend Script module
        2. Enabling and disabling modules
      3. Debugging Your Scripts
        1. Error logs
    2. 2. How to Create an Extension
      1. About Adobe GoLive CS2 SDK Extensions
        1. What can extensions do?
      2. Anatomy of an Extension
        1. Extension-building tools
      3. Example Main.html File
      4. Creating an Extension Module
        1. Creating the Main.html file
      5. Adding SDK Tags and JavaScript Functions to the Module
        1. Adding the module tag
        2. Adding event-handling functions
        3. Summary
    3. 3. The JavaScript Environment
      1. JavaScript Objects in the GoLive Environment
        1. Objects, elements, and properties
        2. Accessing attribute values
        3. Naming objects and attributes
        4. JavaScript object collections
          1. Using the global object arrays
          2. Comparing objects
        5. Updating references to objects
      2. Scope of Variables and Functions
        1. Releasing Memory
      3. Handling Events
        1. Defining and Registering Event Handlers
        2. Nesting Event Handlers
      4. Sharing Data
        1. Persistent shared data
        2. Non-persistent shared data
        3. Communicating with other extensions
          1. Sending messages to other extension modules
          2. Responding to a broadcast
      5. Delays and Timeouts
        1. Timed tasks
        2. Setting the JavaScript timeout
        3. Progress bars
          1. Starting a progress or busy bar
          2. Updating a progress or busy bar
          3. Progress bar example
  4. 2. SDK Programmer’s Reference
    1. 4. Objects
      1. Global Properties and Functions
        1. Global properties
        2. Global functions
      2. app Object
        1. Acquiring the app object
        2. app object properties
        3. app object functions
      3. attribute Object
        1. Acquiring an attribute object
        2. attribute object properties
      4. bounds Object
        1. Acquiring a bounds object
        2. bounds object properties
      5. box Object
        1. Acquiring box objects
        2. box object properties
        3. box object functions
      6. changeMarkup Object
        1. Acquiring a changeMarkup object
        2. changeMarkup object properties
        3. changeMarkup object functions
          1. Setting properties for supported actions
      7. collection Object
        1. Acquiring collection objects
        2. collection object properties
      8. comment Object
        1. Acquiring comment objects
        2. comment object properties
        3. comment object functions
      9. common Object
        1. Acquiring the common object
        2. common object functions
      10. control Object Types
        1. Acquiring control objects
        2. general control object properties
        3. general control object functions
      11. Control: button Object
        1. Acquiring a button object
      12. Control: checkbox Object
        1. Acquiring a checkbox object
        2. checkbox object properties
      13. Control: colorfield Object
        1. Acquiring a colorfield object
      14. Control: combobox Object
        1. Acquiring a combobox object
        2. combobox object properties
        3. combobox object functions
      15. Control: custom Control Object
        1. Acquiring a custom control object
      16. Control: edittext Object
        1. Acquiring an edittext object
      17. Control: filelist Object
        1. Acquiring a filelist object
        2. filelist object properties
        3. filelist object functions
      18. Control: frame Object
        1. Acquiring a frame object
      19. Control: hierarchy Object
        1. Acquiring a hierarchy object
        2. hierarchy object properties
        3. hierarchy object functions
      20. Control: item Object
        1. Acquiring an item object
        2. item object properties
        3. item object functions
      21. Control: line Object
        1. Acquiring a line object
      22. Control: list Object
        1. Acquiring a list object
        2. list object properties
        3. list object functions
      23. Control: node Object
        1. Acquiring a node object
        2. node object properties
        3. node object functions
      24. Control: preview Object
        1. Acquiring a preview object
        2. preview object properties
        3. preview object functions
      25. Control: progressbar Object
        1. Acquiring a progressbar object
        2. progressbar object properties
      26. Control: radiobutton Object
        1. Acquiring a radiobutton object
        2. radiobutton object properties
      27. Control: scrollbar Object
        1. Acquiring a scrollbar object
        2. scrollbar object properties
      28. Control: slider Object
        1. Acquiring a slider object
        2. slider object properties
      29. Control: source Object
        1. Acquiring a source object
        2. source object properties
      30. Control: statictext Object
        1. Acquiring a statictext object
      31. Control: urlgetter Object
        1. Acquiring a urlgetter object
        2. urlgetter object functions
      32. CSSCharsetRule Object
        1. Acquiring a CSSCharsetRule object
        2. CSSCharsetRule object properties
      33. CSSFontFaceRule Object
        1. Acquiring a CSSFontfaceRule object
        2. CSSFontfaceRule object properties
      34. CSSImportRule Object
        1. Acquiring a CSSImportRule object
        2. CSSImportRule object properties
        3. CSSImportRule object functions
      35. CSSMediaRule Object
        1. Acquiring a CSSMediaRule object
        2. CSSMediaRule object properties
        3. CSSMediaRule object functions
      36. CSSPageRule Object
        1. Acquiring a CSSPageRule object
        2. CSSPageRule object properties
      37. CSSStyleDeclaration Object
        1. Acquiring a CSSStyleDeclaration object
        2. CSSStyleDeclaration object properties
        3. CSSStyleDeclaration object functions
      38. CSSStyleRule Object
        1. Acquiring a CSSStyleRule object
        2. CSSStyleRule object properties
      39. CSSStyleSheet Object
        1. Acquiring a CSSStyleSheet object
        2. CSSStyleSheet object properties
        3. CSSStyleSheet object functions
      40. CSSUnknownRule Object
        1. Acquiring a CSSPageRule object
        2. CSSPageRule object properties
      41. DAV Object
        1. Acquiring a DAV object
        2. DAV object properties
        3. DAV object functions
      42. dimension Object
        1. Acquiring a dimension object
        2. dimension object properties
      43. document Object
        1. Acquiring document objects
        2. document object properties
        3. document object functions
      44. document.history Object
        1. Acquiring document.history objects
        2. document.history object properties
      45. document.selection Object
        1. Acquiring docuement.selection objects
        2. document.selection object properties
      46. document.selection.range Object
        1. Acquiring a range object
        2. document.selection.range object properties
        3. document.selection.range object functions
      47. documentFragment Object
        1. Acquiring a documentFragment object
      48. draw Object
        1. Acquiring draw objects
        2. draw object functions
      49. element Object
        1. Acquiring an element object
        2. element object properties
        3. element object functions
      50. file Object
        1. Acquiring file objects
        2. file object properties
        3. file object functions
      51. fontArray Object
        1. Acquiring fontArray objects
      52. fontSet Object
        1. Acquiring fontSet objects
        2. fontSet object properties
        3. fontSet object functions
      53. fontSetCollection Object
        1. Acquiring fontSetCollection objects
        2. fontSetCollection object functions
      54. FTP Object
        1. Acquiring an FTP object
        2. FTP object properties
        3. FTP object functions
      55. globalPrefs Object
        1. Acquiring a globalPrefs object
        2. globalPrefs object properties
      56. HTMLStyle Object
        1. Acquiring HTMLStyle objects
        2. HTMLStyle object properties
      57. HTMLStyleSet Object
        1. Acquiring HTMLStyleSet objects
        2. HTMLStyleSet object properties
        3. HTMLStyleSet object functions
      58. imageConverter Object
        1. Acquiring the imageConverter object
        2. imageConverter object functions
      59. imageSettings Object
        1. Acquiring the imageSettings object
        2. imageSettings object properties
        3. imageSettings object functions
        4. File Format Parameters
      60. imageVariable Object
        1. Acquiring imageVariable objects
        2. imageVariable object properties
      61. layout Object
        1. Acquiring layout objects
        2. layout object properties
        3. layout object functions
      62. layout.grid Object
        1. Acquiring a layout.grid object
        2. layout.grid object properties
        3. layout.grid object functions
          1. Box names for predefined palette elements
      63. layout.gridLayout Object
        1. Acquiring layout.gridLayout objects
        2. layout.gridLayout object properties
        3. layout.gridLayout object functions
      64. layout.table Object
        1. Acquiring layout.table objects
        2. layout.table object properties
        3. layout.table object functions
      65. layout.table.style Object
        1. Acquiring layout.table.style objects
        2. layout.table.style object properties
        3. layout.table.style object functions
      66. layout.tableCell Object
        1. Acquiring layout.tableCell objects
        2. layout.table Cell object properties
        3. layout.tableCell object functions
      67. layout.tableCell.style Object
        1. Acquiring layout.tableCell.style objects
        2. layout.tableCell.style object properties
      68. link Object
        1. Acquiring link objects
        2. link object properties
        3. link object functions
      69. Markup Interface
        1. Markup objects and document parsing
        2. Markup interface properties
        3. Markup interface functions
      70. markup Object
        1. Acquiring markup objects
        2. markup object properties
        3. markup object functions
      71. markupSettings Object
        1. Acquiring a markupSettings object
        2. markupSettings object properties
        3. markupSetting object functions
      72. markupSetting.markupSettingAttribute Object
        1. Acquiring a markupSettingAttribute object
        2. markupSettingAttribute object properties
      73. markupSetting.markupSettingElement Object
        1. Acquiring a markupSettingElement object
        2. markupSettingElement object properties
        3. markupSettingElement object functions
      74. markupSetting.markupSettingEntity Object
        1. Acquiring a markupSettingEntity object
        2. markupSettingEntity object properties
      75. menu Object
        1. Acquiring menu objects
        2. menu object properties
        3. menu object functions
      76. menuItem Object
        1. Acquiring menuItem objects
        2. menuItem object properties
        3. menuItem object functions
      77. module Object
        1. Acquiring a module object
        2. module object properties
        3. module object functions
      78. Node Interface
        1. Node interface properties
        2. Node interface functions
      79. nodeList Object
        1. Acquiring a nodeList object
        2. nodeList object properties
        3. nodeList object functions
      80. panel Object
        1. Acquiring a panel object
        2. panel object properties
        3. panel object functions
      81. picture Object
        1. Acquiring a picture object
        2. picture object properties
        3. picture object functions
      82. point Object
        1. Acquiring a points object
        2. dimension object properties
      83. prefs Object
        1. Acquiring the prefs object
        2. prefs object properties
        3. prefs object functions
      84. progressLog Object
        1. Acquiring a progressLog object
        2. progressLog object functions
      85. serverInfo Object
        1. Acquiring a serverInfo object
        2. serverInfo object properties
        3. serverInfo object functions
      86. serverInfoCollection Object
        1. Acquiring a serverInfoCollection object
        2. serverInfoCollection object properties
        3. serverInfoCollection object functions
      87. settings Object
        1. Acquiring a settings object
        2. settings object properties
      88. settings.aglmodule Object
        1. Acquiring a settings.aglmodule object
        2. settings.aglmodules Collection object properties
        3. settings.aglmodule object functions
      89. settings.css Object
        1. Acquiring a settings.css object
        2. settings.css object functions
      90. settings.fileMappings Object
        1. Acquiring a settings.fileMappings object
        2. settings.fileMappings object functions
      91. settings.markup Object
        1. Acquiring a settings.markup object
        2. settings.markup object properties
        3. settings.markup object functions
      92. settingsPDF Object
        1. Acquiring a settingsSDK object
        2. settingsPDF object properties
      93. settingsSDK Object
        1. Acquiring a settingsSDK object
        2. settingsSDK object properties
      94. settings.sdkmodule Object
        1. Acquiring a settings.sdkmodule object
        2. settings.sdkmodules Collection object properties
        3. settings.sdkmodule object functions
      95. settings.userAgentProfiles Object
        1. Acquiring a settings userAgentProfiles object
        2. settings.userAgentProfiles object properties
        3. settings.userAgentProfiles object functions
      96. siteCollection Object
        1. Acquiring siteCollection objects
        2. siteCollection object functions
      97. siteReference Object
        1. Acquiring siteReference objects
        2. siteReference object properties
        3. siteReference object functions
      98. socket Object
        1. Acquiring a socket object
        2. socket object properties
        3. socket object functions
      99. splitpanel Object
        1. Acquiring a splitpanel object
        2. splitpanel object properties
        3. splitpanel object functions
      100. tabpanel Object
        1. Acquiring a tabpanel object
        2. tabpanel object properties
        3. tabpanel object functions
      101. text Object
        1. Acquiring text objects
        2. text object properties
        3. text object functions
      102. textArea Object
        1. Acquiring textArea objects
        2. textArea object properties
        3. textArea object functions
      103. textView Object
        1. Acquiring textView objects
        2. textView object properties
        3. textView object functions
      104. translator Object
        1. Acquiring the translator object
        2. translator object functions
      105. treeNode, treeRoot Object
      106. undo Object
        1. Acquiring undo objects
        2. undo object properties
        3. undo object functions
      107. VCSHandler Object
        1. Acquiring VCSHandler objects
        2. VCSHandler object properties
      108. VCSRevisionInfo Object
        1. Acquiring VCSRevisionInfo objects
        2. VCSRevisionInfo object properties
        3. VCSRevisionInfo object constructor
      109. VCSSettings Object
        1. Acquiring VCSSetting objects
        2. VCSSettings object properties
      110. website Object
        1. Acquiring website objects
        2. website object properties
        3. website object functions
      111. website.cleanupSettings Object
        1. Acquiring a cleanupSettings objects
        2. website.cleanupSettings object properties
      112. website.exportSettings Object
        1. Acquiring an exportSettings object
        2. website.exportSettings object properties
      113. website.siteSettings Object
        1. Acquiring a website.siteSettings object
        2. website.siteSettings object properties
      114. website.URLsettings Object
        1. Acquiring a website.URLsettings object
        2. website.URLSettings object properties
      115. Window Class
        1. Window object constructor
        2. Window class static functions
      116. window Object
        1. Accessing a window object
        2. window object properties
        3. window object properties: debugger window
        4. window object functions
      117. XMP Object
        1. Acquiring the XMP object
        2. XMP object properties
        3. XMP object functions
    2. 5. Tags
      1. Extensions
        1. jsxmodule
          1. Syntax
          2. Attributes
        2. jsxexclude
          1. Syntax
          2. Attributes
        3. script
          1. Syntax
          2. Attributes
          3. Notes
      2. Menus and Toolbars
        1. jsxmenubar
          1. Syntax
        2. jsxmenu
          1. Syntax
          2. Attributes
        3. jsxitem
          1. Syntax
          2. Attributes
          3. Notes
          4. Custom menu examples
        4. jsxtoolbar
          1. Syntax
          2. Attributes
          3. Notes
          4. Example
      3. Dialogs and Palettes
      4. Control Containers
        1. jsxdialog
          1. Syntax
          2. Attributes
          3. Notes
        2. jsxpalette
          1. Syntax
          2. Attributes
          3. Notes
        3. jsxview
          1. Syntax
          2. Attributes
          3. Notes
        4. jsxtabview
          1. Syntax
          2. Attributes
          3. Notes
        5. jsxsplitview
          1. Syntax
          2. Attributes
        6. jsxlayoutline
          1. Syntax
          2. Attributes
          3. Notes
      5. Controls
        1. jsxcontrol
          1. Syntax
          2. Attributes
          3. Notes
        2. jsxlistcolumn
          1. Syntax
          2. Attributes
        3. jsxparam
          1. Syntax
          2. Attributes
      6. Objects Palette Icons and Customized Content
        1. jsxpalettegroup
          1. Syntax
          2. Attributes
        2. jsxpaletteentry
          1. Syntax
          2. Attributes
          3. Notes
        3. img
          1. Syntax
          2. Attributes
        4. jsxelement
          1. Syntax
          2. Attributes
        5. jsxinspector
          1. Syntax
          2. Attributes
          3. Notes
      7. Language Localization
        1. jsxlocale
          1. Syntax
          2. Attributes
          3. Notes
          4. Example Localization Table
      8. Document Source Translation
        1. jsxtranslator
          1. Syntax
          2. Attributes
          3. Example
        2. param
          1. Syntax
          2. Attributes
          3. Example
      9. Markup Language Generator
        1. jsxmlgenerator
          1. Syntax
          2. Attributes
          3. Example
      10. Version Control System Interface
        1. jsxvcs
          1. Syntax
          2. Attributes
          3. Example
    3. 6. Events and Event Handlers
      1. Initialization and Termination Handlers
      2. Event Handling
        1. Event names
        2. Registering event handlers
        3. How registered event-handlers are called
      3. EventTarget Class
        1. Constructing event objects
          1. Basic event constructor
          2. dragDrop event constructor
      4. Event Class
        1. Event class properties
        2. Event object functions
      5. Event Object Types
        1. applicationEvent
        2. boxEvent
        3. BridgeTalkEvent
        4. broadcastEvent
        5. contextMenuEvent
        6. documentEvent
        7. dragDropEvent
        8. inspectEvent
        9. inspectTranslationEvent
        10. linkChangeEvent
        11. menuEvent
        12. MLGenerateEvent
        13. moduleEvent
        14. mouseEvent
        15. paintEvent
        16. publishEvent
        17. siteEvent
        18. siteTabsEvent
        19. systemEvent
        20. translatedLinkChangeEvent
        21. translateEvent
        22. UIEvent
        23. undoEvent
        24. VCSAuthEvent
        25. VCSCheckInEvent
        26. VCSCheckOutEvent
        27. VCSCopyEvent
        28. VCSDeletedEvent
        29. VCSGetHeadEvent
        30. VCSGetRefEvent
        31. VCSMoveEvent
        32. VCSNewEvent
        33. VCSPanelEvent
        34. VCSRevisionEvent
        35. VCSStatusEvent
        36. VCSUserDataEvent
        37. VCSUsersEvent
        38. VCSWizardEvent
      6. Compatibility with Previous Event Handlers
      7. Event Summary
    4. 7. Defining a Syntax Scheme
      1. Syntax Scheme Tags
        1. syntax
        2. exampletext
        3. splittable
        4. keyset
        5. entity
        6. smartselect
        7. functionkey
        8. balancebrackets
      2. Example Syntax Scheme
    5. 8. ExtendScript Tools and Features
      1. The ExtendScript Toolkit
        1. Configuring the Toolkit window
        2. Selecting a debugging target
        3. Selecting scripts
        4. Tracking data
        5. The JavaScript console
        6. The call stack
        7. The Script Editor
          1. Mouse navigation and selection
          2. Keyboard navigation and selection
          3. Syntax checking
        8. Debugging in the Toolkit
          1. Evaluation in help tips
          2. Controlling code execution
          3. Visual indication of execution states
          4. Setting breakpoints
            1. Breakpoint icons
            2. The Breakpoints tab
        9. Profiling
      2. Dollar ($) Object
        1. Dollar ($) object properties
        2. Dollar ($) object functions
          1. Object statistics
      3. ExtendScript Reflection Interface
        1. Reflection Object
          1. Reflection object properties
          2. Reflection object functions
        2. ReflectionInfo Object
          1. ReflectionInfo object properties
      4. Localizing ExtendScript Strings
        1. Variable values in localized strings
        2. Enabling automatic localization
        3. Locale names
        4. Testing localization
        5. Global localize function
      5. User Notification Helper Functions
        1. Global alert function
        2. Global confirm function
        3. Global prompt function
      6. Specifying Measurement Values
        1. UnitValue Object
          1. UnitValue object constructor
          2. UnitValue object properties
          3. UnitValue object functions
        2. Converting pixel and percentage values
        3. Computing with unit values
      7. Modular Programming Support
        1. Preprocessor directives
        2. Importing and exporting between scripts
      8. Operator Overloading
      9. Specifying Paths
        1. Absolute and relative path names
        2. Character interpretation in paths
        3. The home directory
        4. Volume and drive names
          1. Mac OS volumes
          2. Windows drives
        5. Aliases
        6. Portability issues
      10. Application and Namespace Specifiers
        1. Application specifiers
        2. Namespace specifiers
      11. Script Locations and Checking Application Installation
  5. A. Object Palette Sort Order
  6. B. Menu Names
    1. File Menu
    2. Edit Menu
    3. Type Menu
    4. Special Menu
    5. Window Menu
    6. Help Menu
    7. Site Menu
    8. View Menu
    9. Diagram Menu
    10. Movie Menu
  7. C. Managed Layout Tags
    1. Elements the Layout Object Manages
    2. Attributes the Layout Object Manages
      1. a
      2. applet
      3. base
      4. body
      5. br
      6. button
      7. embed
      8. embed type=“application/x-shockwave-flash”
      9. embed type=“audio/”
      10. embed type=“audio/x-pn-realaudio-plugin”
      11. embed type=“image/svg-xml”
      12. embed type=“video/quicktime”
      13. fieldset
      14. form
      15. hr
      16. img
      17. input type=“button”
      18. input type=“checkbox”
      19. input type=“file”
      20. input type=“hidden”
      21. input type=“image”
      22. input type=“password”
      23. input type=“radio”
      24. input type=“reset”
      25. input type=“submit”
      26. input type=“text”
      27. isIndex
      28. keygen
      29. label
      30. link
      31. marquee
      32. meta
      33. script
      34. select
      35. spacer
      36. table
      37. td
      38. textarea
      39. th
      40. tr
  8. D. C API for External Binary Libraries
    1. Installing the C Interface to Extend Script
    2. Determining Whether an External Library Is In Memory
    3. C API Synopsis
    4. Data Types
      1. JSValue pointer
      2. JSAValueType scalar types
      3. JSANativeMethod type
      4. JSADrawInfo struct
    5. Initialization and Termination Functions
    6. Accessor Functions
      1. Execution functions
        1. Notes on evaluation
  9. E. Scoping in JavaScript
    1. JavaScript Scope of Name Attribute Values
    2. Global Scope
    3. Application Scope
    4. Module Scope
    5. Container-wide Scope
    6. Local Scope