JavaScript Packaging"

From Documentation
m
m
Line 24: Line 24:
  
 
=Put in a Separate File and Reference it in Language Addon=
 
=Put in a Separate File and Reference it in Language Addon=
If the JavaScript code will be used in every ZUML pages, it is better to package them in a separate file, and then make it part of the [[ZUML Reference/ZUML/Languages|the language definition]]. To make it part of the language definition, you could specify the following content in [[ZK Developer's Reference/Language Definition|the language addon]], say, <tt>WEB-INF/lang-addon.xml</tt>:
+
If the JavaScript code will be used in every ZUML pages, it is better to package them in a separate file, and then make it part of the [[ZUML Reference/ZUML/Languages|the language definition]]. To make it part of the language definition, you could specify the following content in [[ZK Client-side Reference/Language Definition|the language addon]], say, <tt>WEB-INF/lang-addon.xml</tt>:
  
 
<source lang="xml">
 
<source lang="xml">
Line 42: Line 42:
  
 
=Make it a WPD file for more control=
 
=Make it a WPD file for more control=
Technically, you could do whatever you want with a JavaScript file. However, if you prefer to make it a JavaScript package, such that they will be loaded automatically when required, you could package them as [[ZK Developer's Reference/Widget Package Descriptor|a WPD file]].
+
Technically, you could do whatever you want with a JavaScript file. However, if you prefer to make it a JavaScript package, such that they will be loaded automatically when required, you could package them as [[ZK Client-side Reference/Widget Package Descriptor|a WPD file]].
  
 
For example, you could have a WPD file and make it loaded with the zk package (so [[ZK Developer's Reference/Performance Tips/Minimize the number of JavaScript Files to Load|it speeds up the loading]]).
 
For example, you could have a WPD file and make it loaded with the zk package (so [[ZK Developer's Reference/Performance Tips/Minimize the number of JavaScript Files to Load|it speeds up the loading]]).

Revision as of 01:48, 3 December 2010


JavaScript Packaging


If you'd like to customize the client-side behavior, it will end up with some JavaScript code. The code can be packaged in several ways depending on the size and re-usability.

Embed the JavaScript Code Directly

Use the script directive to embed the code directly. For example,

<!-- foo.zul -->
<?script type="text/javascript" content="jq.IE6_ALPHAFIX='.png';"?>

Alternatively, you could use the script component to embed the code.

Put in a Separate File and Reference it in the ZUML page

If there are a lot of JavaScript code, it is better to package them in a separate file, and then use the script directive to reference the file in every ZUML page that requires it.

<!-- foo.zul -->
<?script type="text/javascript" src="/myjs/foo.js"?>

Put in a Separate File and Reference it in Language Addon

If the JavaScript code will be used in every ZUML pages, it is better to package them in a separate file, and then make it part of the the language definition. To make it part of the language definition, you could specify the following content in the language addon, say, WEB-INF/lang-addon.xml:

<language-addon>
    <addon-name>my.extension</addon-name><!-- any name you like -->
    <javascript src="/myjs/foo.js"/> <!-- assume you package it as /myjs/foo.js -->
</language-addon>

Then, you could specify the language addon in WEB-INF/zk.xml:

<language-config>
    <addon-uri>/WEB-INF/lang-addon.xml</addon-uri>
</language-config>

Make it a WPD file for more control

Technically, you could do whatever you want with a JavaScript file. However, if you prefer to make it a JavaScript package, such that they will be loaded automatically when required, you could package them as a WPD file.

For example, you could have a WPD file and make it loaded with the zk package (so it speeds up the loading).

<language-addon>
    <addon-name>my.extension</addon-name><!-- any name you like -->
    <javascript package="my.foo" merge="true"/> <!-- assume you call it my.foo -->
</language-addon>

Version History

Last Update : 2010/12/03


Version Date Content
     



Last Update : 2010/12/03

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.