Dev Depot: Conditioner.js — Condition Your Code

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.

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

“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.

Related:  

Copyright © 2024 Adnet Media. All Rights Reserved. XBIZ is a trademark of Adnet Media.
Reproduction in whole or in part in any form or medium without express written permission is prohibited.

More Articles

profile

'Traffic Captain' Andy Wullmer Braves the High Seas as Spirited Exec

Wullmer networked and hobnobbed, gaining expertise in everything from ecommerce to SEO and traffic, making connections and over time rising through the ranks of several companies to become CEO of the mobile business arm of TrafficPartner.

Alejandro Freixes ·
opinion

To Cloud or Not to Cloud, That Is the Question

Let’s be honest. It just sounds way cooler to say your business is “in the cloud,” right? Buzzwords make everything sound chic and relevant. In fact, someone uninformed might even assume that any hosting that is not in the cloud is inferior. So what’s the truth?

Brad Mitchell ·
opinion

Upcoming Visa Price Changes to Registration, Transaction Fees

Visa is updating its fee structure. Effective April 1, both the card brand’s initial nonrefundable application fee and annual renewal fee will increase from $500 to $950. Visa is also introducing a fee of 10 cents for each settled transaction, and 10 basis points — 0.1% — on the payment volume of certain merchant accounts.

Jonathan Corona ·
opinion

Unpacking the New Digital Services Act

Do you hear the word “regulation” and get nervous? When it comes to the EU’s Digital Services Act (DSA), you shouldn’t worry. If you’re complying with the most up-to-date card brand regulations, you can breathe a sigh of relief.

Cathy Beardsley ·
opinion

The Perils of Relying on ChatGPT for Legal Advice

It surprised me how many people admitted that they had used ChatGPT or similar services either to draft legal documents or to provide legal advice. “Surprised” is probably an understatement of my reaction to learning about this, as “horrified” more accurately describes my emotional response.

Corey D. Silverstein ·
profile

WIA Profile: Holly Randall

If you’re one of the many regular listeners to Holly Randall’s celebrated podcast, you are already familiar with her charming intro spiel: “Hi, I’m Holly Randall and welcome to my podcast, ‘Holly Randall Unfiltered.’ This is the show about sex, the adult industry and the people in it.

Women In Adult ·
trends

What's Hot Now: Leading Content Players on Trending Genres, Monetization Strategies

The juggernaut creator economy hurtles along, fueled by ever-ascendant demand for personality-based authenticity and intimacy — yet any reports of the demise of the traditional paysite are greatly exaggerated.

Alejandro Freixes ·
opinion

An Ethical Approach to Global Tech Staffing

One thing my 24-year career as a technologist working to support the online adult entertainment industry has taught me about is the power of global staffing. Without a doubt, I have achieved significantly more business success as a direct result of hiring abroad.

Brad Mitchell ·
opinion

Finding the Right Payment Partner

Whenever I am talking with businesses that are just getting started, one particular question comes up a lot: “How do I get a merchant account?” It’s a simple question, but it has a complicated answer.

Jonathan Corona ·
opinion

The Taxman Cometh for Every Business

February may be the month of romance, but it is also a time when we need to think about something that inspires very little love: taxes. April is not far away, and the taxman is always waiting. This year, federal and most state income taxes are due Monday, April 15.

Cathy Beardsley ·
Show More