How Adobe Dreamweaver processes JavaScript in extensions
Adobe Dreamweaver checks the Configuration/extension_type folder during startup. If it encounters an extension file within the folder, Adobe Dreamweaver processes the JavaScript by completing the following steps:
- Compiling everything between the beginning and ending
SCRIPT
tags - Executing any code within
SCRIPT
tags that is not part of a function declarationNOTE
This procedure is necessary during startup because some extensions might require global variables to initialize.
Adobe Dreamweaver performs the following actions for any external JavaScript files that are specified in the SRC
attributes of SCRIPT
tags:
- Reads in the file
- Compiles the code
- Executes the procedures
NOTE
If any JavaScript code in your extension file contains the string
"</SCRIPT>"
, the JavaScript interpreter reads the string as an endingSCRIPT
tag and reports an unterminated string literal error. To avoid this problem, break the string into pieces and concatenate them like this:"<' + '/SCRIPT>"
.
Adobe Dreamweaver executes code in the onLoad
event handler (if one appears in the BODY
tag) when the user selects the command or action from a menu for the Command and Behavior action extension types.
Adobe Dreamweaver executes code in the onLoad
event handler on the BODY
tag if the body of the document contains a form for object extensions.
Adobe Dreamweaver ignores the onLoad
handler on the BODY
tag in the following extensions:
- Data translator
- Property inspector
- Floating panel
For all extensions, Adobe Dreamweaver executes code in other event handlers (for example, onBlur="alert('This is a required field.')"
) when the user interacts with the form fields to which they are attached.
Adobe Dreamweaver supports the use of event handlers within links. Event handlers in links must use syntax, as shown in the following example:
<a href="#" onMouseDown=alert('hi')>link text</a>
Plug-ins (set to play
at all times) are supported in the BODY
of extensions. The document.write()
statement, Java applets, and ActiveX controls are not supported in extensions.