This page summarizes most frequently asked questions for JSINER. Please feel free to contact us if you have
some specific question which is not listed here.
What is necessary to use JSINER? |
In general, to use lazy inheritance supported by JSINER, the implementation of JSINER should be loaded (one
which includes implementation of extend() method as well as basic implementation of
transport layer which is used to load dependent external scripts. To make sure that lazy inheritance works
correctly, you need insure that JSINER related code is loaded before actual creation of instances of
classes wich use lazy inheritance. Therefore JSINER should be loaded within <header> HTML tag.
|
How usage of JSINER affects performance of new instances creation? |
Lazy Inheritance decreases time needed for initial loading of external JavaScript files. So,
the first creation of appropriate JavaScript instance could be slightly more time consuming, but
further creation of instances of the same class requires the same amount of time as if
classical inheritance is used.
|
How JSINER loads requried external scripts? |
JSINER includes special abstraction layer which is responsible for loading external scripts. Some
basic implementation of this transport layer is included into JSINER distribution, however it's possible
to replace it by custom implementation.
In general, lazy loading of required external scripts could be disabled since in some situation it
may have some unwanted side-effects and therefore it should be used with caution. For example, such
side effects of lazy loading of external scripts may appear if it is invoked, for example, within
some event handler.
|
How to replace transport layer by custom implementation? |
To replace bundled transport layer to custom one, you need to override
JSINER.inject property by custom transport function. The code will
look like this:
JSINER.inject =
function(aDependency, aCallBack)
{
...
}
Where aDependency - array of dependency keys which should be resolved (that array
is passed to setDependency() function, and aCallBack - reference to function which
will be invoked when all object dependencies are loaded.
|
How JSINER determines which external scripts should be loaded? |
JSINER offers static method JSINER.getScriptURI() which allows to mapa key of external
script (in other words, key which was used during script registration in
the setDependency() method) with actual external JavaScript resource. Based on that
key and resolved URI of external script, JSINER performs check whether that script was
already loaded using transport layer or was attached using standard HTML tag <script>.
If necessary, both these methods may be replaced by custom implementations.
|
Which license is JSINER released under? |
JSINER is Open Source project. It is licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at Apache License 2.0 license.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
|
What should I do if I found a bug? |
Let us know it! Please submit bugs and feature ideas or patches to the email [email protected],
and we’ll get on it.
|
I have some question or suggestion regarding JSINER. How could I submit them to
you?
|
Please do not hesitate contacting us if you have any questions, comments, suggestions or simply find some
issues with
JSINER. Please send us your feedback via email using [email protected]
email addresss.
|