O'Reilly logo

Programming Social Applications by Jonathan LeBlanc

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Defining Libraries

Should you wish to create library files to reuse over multiple widgets, or even if you simply want to keep your code base modularized and neat, then ADsafe libraries are a good starting point.

Libraries are simply script includes with some ADsafe architecture pieces thrown in. If we take a look at a base-level widget, we can see where the library files may be included:

<div id="APPNAME_">
   application markup

   //library file includes by name
   <script src="library.js"></script>

   <script>
   "use strict";
   ADSAFE.go("APPNAME_", function(dom, lib){
      //application functions and code
   });
   </script>
</div>

The script include must be placed after any call to set the ID of the widget (e.g., id method: ADSAFE.id("APPNAME_")) but before the call to the go method.

To access the content of the return object from a library file, we include the lib parameter in the ADSAFE.go(...) method call. We can then access functions by making requests to lib.name.

The library files themselves follow a simple ADsafe syntax:

ADSAFE.lib("name", function (lib){
"use strict";
   //code for the library module

   return {
      //return object
   };
});

Within the library file, you include a call to ADSAFE.lib(...), specifying the library name. The anonymous function that is defined as the second parameter includes two pieces:

The code for the module

This is the base code and functionality for the library module. It will not have access to the document unless the widget code passes the dom parameter to its methods. Including the ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required