educational

Intro to DHTML

For many neophytes, 'DHTML' is simply the combination of HTML and JavaScript, but this definition does not encompass the full scope and power of this technology, for DHTML is an integrated array of features in most 'Version 4' or newer browsers that allow web pages to be much more Dynamic: hence the 'D' in "DHTML."

DHTML is not a scripting language like JavaScript, but a software enhancement that gives your browser the ability to display content dynamically. So what you really want to understand is not DHTML, but rather, the coding syntax needed to employ DHTML and its support for dynamic content in your Web page's design...

To understand this concept a little better, we will define the term 'dynamic' to mean "the inherent ability of the browser to change the displayed page's appearance after the document has loaded, and without reloading the initial page." You have now likely considered the 'inherent ability of the browser' portion of the above definition, and come to the conclusion that this means the typical 'non-standard' foolishness that MSIE and Netscape are famous for, with IE's 'marquee' and NS' 'blink' commands easily coming to mind. Far more powerful but obvious outgrowths of the above examples, today's implementation of DHTML technology is no more cross-browser compatible than either of these 'ancient' commands, but with the amazing eye-candy effects that DHTML is capable of (especially in Internet Explorer's incarnation of it), it is a technology well worth using for a variety of page-enhancement applications.

Writing Cross-Browser DHTML
Unless (or until if you're the 'hopeful' type) a cross-browser implementation of DHTML becomes available, JavaScript browser-sniffing is typically used to determine which set of commands can or should be executed to perform some specific operation within the parameters required by, or available to, the specific browser type. The following techniques will reveal how to create a cross-browser layer, as well as an easy way to sniff out a surfer's browser type.

A Cross-Browser Layer
Since NS understands the LAYER tag while MSIE reads the DIV and SPAN tags, if we wanted to create a simple DHTML effect such as a moving image, we would usually need to use two tags: a layer for NS 4+, and either a DIV or SPAN tag for IE 4+. Although this method can be somewhat 'buggy' in Netscape (what isn't?), NS apparently handles an absolutely positioned DIV tag the same way as a layer, allowing us to use a cross-browser layer that requires only one tag, for example:

DIV id="crosslayer" style="position:absolute"> /DIV>

NS 4+ will handle this DIV exactly the same as it would a layer. Like any other layer, we would first go through the document object , then the layer id for access: document.crosslayer while in IE 4+, we would simply use the div's id: crosslayer.

Although specifying a layer this way is convenient in terms of cross-browser compatibility, it has one major draw back, in that such a layer doesn't always behave the way a normal layer should in NS, and can actually crash the browser on occasion! Unless you are certain that you're application will be stable, then a better alternative may be to write specific code for specific browsers, and the key to this is to be able to redirect surfers based upon their browser type. Here's how to do it: Think of object detection as an indirect way of determining browser type.

Browser Sniffing Through Object Detection
Determining a surfer's browser with JavaScript by using the navigator object is a common task:

SCRIPT LANGUAGE="JavaScript">
!-- Browser Redirect
if (navigator.appName.indexOf("Explorer") != -1){
window.location = "https://www.yoursite.com/ie_url.html";}
if (navigator.appName.indexOf("Netscape") != -1){
window.location = "https://www.yoursite.com/ns_url.html";}
// Browser Redirect -->
/SCRIPT>

But using the navigator object can be complicated to use, so object detection can be used instead. If the browser does not support a particular object, JavaScript returns null when you reference it. Knowing this, we can use an object reference in the if statement (in place of the navigator object) to determine the browser of the user. Think of object detection as an indirect way of determining browser type. Instead of directly determining the name and version of the user's browser (through the navigator object), object detection is a more generic browser sniffing technique. Since only NS 4+ supports the document.layers object, and only IE 4+ supports document.all, we can use this knowledge to easily determine whether the user is using either:

if (document.layers)
{window.location = "https://www.yoursite.com/ns_url.html";}
if (document.all)
{window.location = "https://www.yoursite.com/ie_url.html";}

While either technique will work for you, the latter is far more simple, while the former will allow you to discriminate additional browser types, such as WebTV.

Microsoft (as one might naturally expect) offers an exhaustive look at the amazing things that can be accomplished through the use of DHTML, which can be accessed here , and if you're not convinced that DHTML is right for you, or if you're the 'copy-n-paste' type, visit Dynamic Drive , where a whole new world will open up for you!

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

VerifyMy Seeks to Provide Frictionless Online Safety, Compliance Solutions

Before founding VerifyMy, Ryan Shaw was simply looking for an age verification solution for his previous business. The ones he found, however, were too expensive, too difficult to integrate with, or failed to take into account the needs of either the businesses implementing them or the end users who would be required to interact with them.

Alejandro Freixes ·
opinion

How Adult Website Operators Can Cash in on the 'Interchange' Class Action

The Payment Card Interchange Fee Settlement resulted from a landmark antitrust lawsuit involving Visa, Mastercard and several major banks. The case centered around the interchange fees charged to merchants for processing credit and debit card transactions. These fees are set by card networks and are paid by merchants to the banks that issue the cards.

Jonathan Corona ·
opinion

It's Time to Rock the Vote and Make Your Voice Heard

When I worked to defeat California’s Proposition 60 in 2016, our opposition campaign was outspent nearly 10 to 1. Nevertheless, our community came together and garnered enough support and awareness to defeat that harmful, misguided piece of proposed legislation — by more than a million votes.

Siouxsie Q ·
opinion

Staying Compliant to Avoid the Takedown Shakedown

Dealing with complaints is an everyday part of doing business — and a crucial one, since not dealing with them properly can haunt your business in multiple ways. Card brand regulations require every merchant doing business online to have in place a complaint process for reporting content that may be illegal or that violates the card brand rules.

Cathy Beardsley ·
profile

WIA Profile: Patricia Ucros

Born in Bogota, Colombia, Ucros graduated from college with a degree in education. She spent three years teaching third grade, which she enjoyed a lot, before heeding her father’s advice and moving to South Florida.

Women In Adult ·
opinion

Creating Payment Redundancies to Maximize Payout Uptime

During the global CrowdStrike outage that took place toward the end of July, a flawed software update brought air travel and electronic commerce to a grinding halt worldwide. This dramatically underscores the importance of having a backup plan in place for critical infrastructure.

Jonathan Corona ·
opinion

The Need for Minimal Friction in Age Verification Technology

In the adult sector, robust age assurance, comprised of age verification and age estimation methods, 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

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 ·
Show More