spacer

home / experts / dhtml / column25 / addendum1
Developer News
OpenOffice 3.2 Lands Amid Critical Changes
Red Hat, IBM Firmly in KVM Virtualization Camp
Red Hat Talks Up Open Source Cloud Plans

Logo

Dynamic Headline Fader, Version 2.01
backward compatibility


The Problem

When Version 2.0 of the Fader appeared a couple of weeks ago, my eagle-eyed editor, Andy King, immediately asked:

Is it compatible with News Harvester?

News Harvester is our Free Headline Service, that could be on your page. But then, you already know that.

The answer to Andy's question, was: "no"

Some History to Make This Page Longer

Fader 1.0

When the original fader was introduced in Column 13, the fader item text display and corresponding URLs were stored in two separate arrays: arTXT and arURL. In a two item fader, the arrays may have looked like this:

prefix="http://www.internetnews.com/"

arTXT = new Array(
  "High-Speed Hotel Access on the Horizon",
  "Excite Reports Increased Revenues"
)

arURL = new Array(
  "isp-news/1998/01/2301-high.html",
  "fina-news/1998/01/2301-excite.html"
)

NH 1.0

Around the same time, News Harvester was introduced. The headline and link arrays conformed to the fader 1.0 arrays, allowing users to display NH headlines with the fader.

Banners 1.0

Again around the same time, (lots of activity in those days!) Doc JavaScript published his popular Scrolling JavaScript Banners. He also created a version to be used with NH with the arTXT-arURL array scheme.

Hierarchical Menus

When our HM was introduced, a new array scheme was used that combined display text and linked-to URLs into a single array. This format proved successful, as it was less error-prone.

Fader 2.0

Which brings us to the present fader script. By combining the arTXT and arURL arrays into one, arNews, Fader 2.0 was no longer compatible with News Harvester, nor, more importantly, was it compatible with Fader 1.0. Authors who have set up an automatic array-generation engine will not want to rewrite it to generate the new arNews array.

Allowing for the Old Array Scheme

Fortunately, backward-compatibility is easily attained. In Version 2.01, we will need to change the first statement in the FDRinit() function, which returns if the arNews array does not exist:

if (!window.arNews) return;

It now reads:

if(!window.arNews) {
   if(!window.arTXT || !window.arURL) return;
   if(arTXT.length != arURL.length) return;
   arNews = [];
   for (i=0;i<arTXT.length;i++){
      arNews[arNews.length] = arTXT[i];
      arNews[arNews.length] = arURL[i];
   }
}

In plain English:

We check for the existence of arNews. If we don't find it, we don't assume that there is a load or omission error. We may be dealing with a Fader 1.0 array scheme. So we look for arTXT and arURL. Since both must exist for the fader to function, if either one is missing, we return from the function and no fader is displayed.

If we find both arrays, then we compare their lengths. If they are not the same length, they do not have the same number of complimentary entries, so again, the fader cannot work and we return.

If we find useable versions of arTXT and arURL, we create an empty array, arNews, and fill it alternately with the arTXT and arURL array elements.

 

When we are done, we have created a Version 2.x compatible array using the old Version 1.0 array scheme. The fader on the left uses the old array scheme, and is displaying NewsHarvester headlines.

Next, let's solve an Explorer-only problem: lack of filters support in the browser.


Produced by Peter Belesis and


The Network for Technology Professionals

Search:

About Internet.com

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | E-mail Offers

webref The latest from WebReference.com Browse >
Search Engine Optimization: Selecting and Embedding Keywords · Are Google's Language Translation Web Services Ready for Prime Time? · Installing and Using Meeplace, the Business Review CMS
Sitemap · Experts · Tools · Services · Email a Colleague · Contact FREE Newsletters 
 The latest from internet.com
Workers Say Telework Is More Productive, Bosses Not So Sure · Kingston Debuts Power-Saving Memory Upgrades · Social Networking is King: Facebook Edges Google

All Rights Reserved. Legal Notices.
Created: Sep 21, 1999
Revised: Sep 21, 1999

URL: http://www.webreference.com/dhtml/column25/addendum1/fdr201comp.html