Home > Features > Dev Depot: Conditioner.js — Condition Your Code • Bookmark   • Newsletters   • Register Search Options

FEATURE

Dev Depot: Conditioner.js — Condition Your Code

Dev Depot: Conditioner.js — Condition Your Code

November 28, 2013
Text size: 
View in Digital Mag
Get XBIZ News
XBIZ Research
Will virtual reality boost the paysite market?
Yes, it will soon
  40.00%
Yes, but in a few years
  37.14%
No
  22.86%
Out of 140 votes. Results based on votes submitted by members of XBIZ.net social network.

" Conditioner.js is an environmentally aware JavaScript library for loading and unloading modules based upon the state of their surroundings. "

Following the latest trends in responsive design doesn’t just mean making your site viewable on monitors of different sizes; it also involves streamlining your content and design to accommodate various bandwidth types and other factors. This is where conditional statements and testing comes into play.

According to its publisher, Conditioner.js (www.conditionerjs.com) is an environmentally aware JavaScript library for loading and unloading modules based upon the state of their surroundings. These modules are loaded separately from each other, preventing conflicts via an API that allows for structured negotiations, allowing users to safely access the modules once they’ve been parsed. Conditioner is based on RequireJS and requires this script to function. The system uses modules — which are different from traditional script files — since they incorporate well-defined objects and avoid polluting the global namespace. A module can explicitly list its dependencies without referring to global objects, receiving those dependencies as arguments to the function defining the module instead.

“RequireJS is awesome at what it does, to not leverage that awesomeness and write a module loader of our own would just be silly,” states a Conditioner rep. “You define the required state [and] Conditioner takes it from there.”

Conditioner loads and unloads specified modules on the fly; such as only loading and displaying content when a browser window is a certain size, and then unloading content if the window is resized below a certain size.

Using the application of a module that transforms an anchor link into a Google Map, we can see how the Map module is bound using the data-module attribute and conditions set via the data-conditions attribute in the following anchor:

<a href=”http://maps.google.com/?ll=51.741,3.822”
data-module=”ui/Map”
data-conditions=”media:{(min-width:40em)} and element:{seen}”> ...
</a>

“It would make sense to only activate the maps module if there’s enough real estate on the screen to render a decent sized map,” the rep explains. “And to save a request and some bits and bytes you might only want to start loading the map once the map container becomes visible to the user.”

Once the HTML is setup, use the loadModules method to tell Conditioner to look for modules in a certain section of the DOM, ie. conditioner.loadModules(document);.

While still under development, the latest version of Conditioner can be downloaded in a readable developer format, as well as a ~ 2.5Kb compressed production file.

The download does not include the default tests as these are different for each project, but the publisher includes separate downloads for Connection (is the user connected to the Internet or not?), Element (specifying a min-width, max-width and “seen” condition), and Media tests (with variables for query and “supported”), as well as for the availability of a Pointer, along with a test for the min-width and max-width of the viewport Window.

Although Conditioner requires a modern browser to function, IE8 support is possible when using media queries as conditions via the media:{supported} condition to still load modules on IE8.

The Conditioner documentation contains examples of basic implementations, along with examples of complex and custom conditions, plus a guide to using multiple modules that makes script setup easy and quick.

Some coders will comment that conditional statements and testing via media queries and other methods are readily performed without helper applications such as Conditioner, but one big value of this script may be in the way that it harmonizes all of your scripts so that they load and execute in the desired order without conflicts — or not load at all, still without conflicts. Give Conditioner a try to see if it helps your development efforts along.


EDUCATIONAL FEATURES

E-Stim Basics: Selling Customers on Powerboxes as Pleasure Tools

Electrosex is a commonly misunderstood pleasure practice for good reason: Most of us have negative associations with electricity; maybe we’ve been shocked after rubbing our feet across a carpeted... More »

Search Oftentimes Is Left to Chance

Adult content is frowned upon in search, whether in paid, organic or social. With the big algo updates from the past few years, Google has cleaned up search, trying to get rid of spammy and low-quality... More »

Five Tips to Generate Repeat Business

A $50 sale is great. But what if you could get that same $50 sale to come back four times in the next few months? Here are some ideas how to achieve that. 1) On your receipts, you should have an option... More »
XBIZ NEWSLETTERS
Stay informed of the latest industry developments. Get XBIZ newsletters delivered to your inbox. Subscribe today!
Enter email address:

* To manage existing subscriptions click here.






POPULAR PRODUCTS & SERVICES
Submit your press release to
multiple news outlets with 1 click.
Subscribe to RSS news feeds or
add free content to your website.
Access XBIZ news and articles
with your mobile device.
Access the latest issues of the industry's leading trade publications in digital form. View online or download for offline viewing.

UPCOMING EVENTS

eroFame

Oct 05 - Oct 07
Hannover, Germany

EXXXOTICA Edison

Nov 04 - Nov 06
Edison, New Jersey

2016 Inked Awards

Nov 05 - Nov 05
Edison, New Jersey

XBIZ 2017

Jan 09 - Jan 13
Hollywood, CA
Everyday thousands of business professionals browse XBIZ's industry directory for quality products and services. Not listed yet? Your company could be losing potential new business. Submit your company today!
Use XBIZ RSS feeds to stay informed of the latest industry developments or as a content syndication tool for your website!