Frequently Asked Questions


General

What Does Xanjax Signify?
Xanjax is an acronym for 'eXtensible Asynchronous Navigable Javasript And Xml.'
Why release yet another AJAX framework?

The developer wanted a fast, tiny, fully client side AJAX framework. (see about for more detail)

Essential features would be:

AJAX would then become practical for updating, creating, and improving ordinary websites;   not just sites needing specific 'Web 2' enhancements without need of traditional browser navigation.   'Web 2' extensions would then be very easy to add to the updated/created site, the necessary XMLHttpRequest communications and CSS framework already being in place.

Although plenty of interesting work is being done in the AJAX arena, only a couple of solutions seemed to exist at the time of writing which attempted to simulate traditional browser navigation, bookmarking and history; these solutions were not event driven, were relatively large, depended on extensive browser sniffing, seemed not to address xml to html conversion, or depended on a hybrid of client-side and server-side scripting.

The existing solutions simply didn't match the developer's basic needs.

Why doesn't Xanjax include pre-built interface graphics elements?

It probably will one day!   Like to help?

Right now, a tiny, fast, solid foundation is a more important priority than graphics interface elements, which can easily be added as modules to a well designed framework. For the moment we're just focussing on getting the foundations right.

Progressive enhancement is an important consideration;   not only for those who cannot use javascript or CSS, but for the millions more users on slow networks sharing broadband, such as students and small business users, and the millions still on dialup connections. Let's face it, there are presently very few AJAX based sites which address progressive enhancement; there are many (if not most) with all the fancy bells and whistles which are totally useless on a low performance connection.

Ultimately, it is intended that Xanjax will address the complex issue of progressive enhancement in a way which makes it easier for designers to properly cater for the main classes of users with less than optimum access. Although presentation is very important, we're inclined to think that most users just want their information as quickly as possible.

Delivery in a fancy package would be a bonus.   If and when we can oblige, we will.

Which Browsers Does Xanjax Support?

Presently, Xanjax has been tested with Internet Explorers 5.5, 6.1 & 7.0, Firefox 2 & Firefox 3, and Opera 9.   It also works with text based browsers Links, Lynx and Dillo; maybe all of them!

Opera is likely to work in the near future, it nearly goes now.

Safari support coming soon. Currently broken because Safari will not scroll content when scrollbars are hidden! This is not the fault of Xanjax and will be reported as a bug. We are also working on ways to get around this odd behaviour.

Konqueror is not working. It probably won't unless its developers swallow well earned pride and decide to work with developers of webkit which I understand was a hostile fork of the original Konquereor backend. Really sorry to you folks at Konqueror, but we MUST have standards based browsers, not quirky clones of the worst browser on earth! I know Konqueror stands for much more than that, but any browser must work in a standard way. Even the makers of that well known horrible browser with all their clout have finally acknowledged that and are beginning to tow the line.

Does Xanjax Have Bugs?

Yes, like most software. See Xanjax blog for known issues.

Xanjax is very new and has not reached any sort of stable release status yet. It seems to work quite well on the browsers it's been tested on, but when it gets more broadly tested it would be surprising if unknown problems didn't show up.

Xanjax is nearly ready for production use. If you think it's stable enough for you, go ahead and use it, it's your decision.

Remember, there's absolutely no warranty. If it ruins your life and wastes all your time and money, bad luck!

Where Do I Get Help Or Xanjax Support?

At the moment that won't be easy because Xanjax is so new.

If your question is not answered here or in the howto, please use the Xanjax blog to ask a question. Hopefully, people other than the lead developer may be able to assist, leaving him more time to keep improving Xanjax. Ask a question about one specific issue, be as descriptive as necessary, but as brief as possible to increase your chances of getting a response. If no-one is helping, the main developer will try to respond.

I can't even get Xanjax Site Kit working?

If you can't get the unaltered Xanjax sitekit working then you have either a webserver or a security issue. Xanjax SiteKit is well tested and it works well. If you need help setting up a web server or hosting site, or with permissions and/or security zones, this is really not the forum; you should go to the appropriate place first and get that issue sorted.


Technical

What Restrictions Does Xanjax Impose?
There are a few - this list will probably grow:
IE JavaScript "Object required error" (line 116, char 2)
Cause - invalid XML. Did you validate since last edit? Locate the character or string that offends and use an alternative. A common cause of this error is directly using & or another illegal XML character. Use & instead of just &.
Firefox JavaScript error: xanjax.js Line: 115
Detail: xmlDoc.getElementsByTagName("body")[0] has no properties. Cause - invalid XML. Did you validate since last edit? Locate the character or string that offends and use an alternative. A common cause of this error is directly using & or another illegal XML character. Use & instead of just &.
Message: Xanjax Needs JavaScript & CSS For Normal Operation
Cause - JavasCript turned off OR invalid XML. Turn JavaScript on. Otherwise, did you validate since last edit? Locate the character or string that offends and use an alternative. A common cause of this error is directly using & or another illegal XML character. Use & instead of just &.

Alternatively, you may be using a browser which does not support Javascript (such as Lynx), or perhaps a browser (such as Konqueror) which is not yet supported by Xanjax.

Target Anchors don't work properly.

Anchors within a div don't work in IE. This seems to be (yet another) bug in IE.   For this reason alone, Xanjax does not, and may never be able to support traditional target anchors. Xanjax exploits anchor and scroll behaviour to simulate traditional browser navigation in an AJAX context. We think this is much more important than the loss of target anchors.

If you really need to use anchors, drop your content into the object (id="contentobj"), rather than the div (id="contentdiv").   Your content will then be completely isolated from Xanjax; but this also means that although back/forward navigation will work for anchors within the content, history and bookmarking will not.   However the object content as a block will still be correctly referenced by Xanjax for navigation, history and bookmarking.

Consider though that target anchors are a hangover from the ancient past when connections were ultra slow and AJAX didn't exist.   Now, there really are better ways to structure referenced content;   such as mouse over balloons,   or expandable headings like we used here.