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=”https://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

opinion

Account-to-Account Payments: The New Banking Disruptor?

So much of our industry relies upon Visa and Mastercard to support consumer payments — and with that reliance comes increased scrutiny by both brands. From a compliance perspective, the bar keeps getting raised until it feels like we end up spending half our time making sure we are compliant rather than growing our business.

Cathy Beardsley ·
profile

WIA Profile: Samantha Beatrice

Beatrice credits the sex positivity of Montreal for ultimately inspiring her to pursue work in adult entertainment. She had many friends working in the industry, from sex workers to production teams, so it felt like a natural fit and offered an opportunity to apply her marketing and social media savvy to support people she truly believes in and wants to see succeed.

Women In Adult ·
opinion

Understanding the Latest Server Processors

Over the last decade, we mostly stopped talking about CPU performance. Recently, however, there has been a seismic and exciting change in the CPU landscape, due to innovation by a chip company called Advanced Micro Devices (AMD).

Brad Mitchell ·
opinion

User Choice, Privacy and the Importance of Education in AV

As we discussed last month, age verification in the adult sector is critical to ensuring legal compliance with ever-evolving regulations, safeguarding minors from inappropriate content and protecting the privacy of adults wishing to view adult content.

Gavin Worrall ·
opinion

Maintaining Payment Processing Compliance When the Goalpost Keeps Moving

VIRP is the new four-letter word everyone loves to hate. The Visa Integrity Risk Program went into effect last year, and affects several business types — including MCC 5967, which covers adult and anything else with nudity, and MCC 7273, dating services that don’t allow nudity.

Jonathan Corona ·
opinion

Making the Most of Your Sales Opportunities

The compliance road has been full of twists and turns this year. For many, it’s been a companywide effort just to make it across that finish line. Hopefully, most of us can now return our attention to some important things we’ve left on the back burner for months — like driving revenue.

Cathy Beardsley ·
profile

YourPaysitePartner Marks 25-Year Anniversary Amid Indie Content Renaissance

For 25 years, YourPaysitePartner has teamed up with stars and entrepreneurial brands to bring their one-stop-shop adult content dreams to life — and given the indie paysite renaissance of the past few years, the company’s efforts have paid off in spades.

Alejandro Freixes ·
opinion

WIA Profile: B. Wilde

B. Wilde considers herself a strategic, creative, analytical and entertaining person by nature — all useful traits for a “marketing girlie,” a label she happily embraces.

Women In Adult ·
opinion

Proportionality in Age Verification

Ever-evolving age verification (AV) regulations make it critical for companies in the adult sector to ensure legal compliance while protecting the privacy of adults wishing to view adult content. In the past, however, adult sites implementing AV solutions have seen up to a 60% drop in traffic as a result.

Gavin Worrall ·
opinion

Goodbye to Noncompete Agreements in the US?

A noncompetition agreement, also known as a noncompete clause or covenant not to compete, is a contract between an employer and an employee, or between two companies.

Corey D. Silverstein ·
Show More