ICQ:53-755-182 RSS channel for codegravity.com homepage Bookmark!

61/2NEW projects | 14 businesses NEW! | 258 web resources | 179/6NEW freelancers | 494 topics


JoomlaWatch
JoomlaWatch Stats 1.2.6 by Matej Koval
We have 7 guests online


Login form:





Lost Password?
Register
Partners:

Google Page Rank Checker

My CV / resume

WinAsm Studio

Prehliadac Opera

ColdFusion, Flex, PHP Web development worldwide

View a profile on proagora.com
view my profile

CodeGravity.com is
looking for the
link partnership
with related websites.

Relax, oddych, zabava, ubytovanie

Ubytovani, volny cas, zabava

Vyšné Ružbachy

Reštaurovanie, kameň, bronz, drevo

Slobodne forum

R.E.M.

Valid XHTML 1.0 Transitional

RSS feed:
rss feed
Home arrow Programming arrow Practical usage of AJAX on this website
Latest freelance programmers:
bharat pathak
Consulting skillsHardware skills
we love to do algorithms in digital signal processing and image processing. Also interested in doing corporate trainings in the same area's. Good at digital design, verilog RTL coding and simulations....
add/register freelance programmerNew freelancer
Work on projects

Latest freelance projects:
Alfonso Franco
The project does description about creating a front end java application from the follwings platform at http://www.imerchants.com/2_0.html and after create a back end SQL J...
New project request
Work on projects

Latest programming resources:
Php Ajax Related Useful codes, tips and article
This website contains useful code, tips and aritcle related to php and ajax programming.
add/submit programming urlAdd a new programming resource

Latest forum topics:
Re:joomlawatch: connections not showing
Hi Shawn, Yes, exactly. Eg. \"We have 10 guests and 1 member online\", means, that there is one registered member, that is currently logged in and 10 guest users that are not registered and...
add forum topicPost a new forum topic

Practical usage of AJAX on this website

Sponsored links:

ajax

 

I found a great CSS dropdown menu on a website http://www.cssplay.co.uk/menus/drop_variation.html

It allows you to include the dropdown menu as one you can see on the top of this website. One great advantage is that it's in a plain HTML with the usage of CSS styling and therefore no javascript coding is required.

Ok, so I made a module that generates the set of HTML links from the Joomla CMS which are then transformed into this nice menu.
Every page of my website usually contains less than 100 links (internal+external) because I want the pages to be the search engine friendly.  But using this feature the number of links on every webpage increased to 200 or so.

Then I got the idea. Why not to use the AJAX to modify the webpage when it's loaded ?

The principle is simple:

  • The page loads with the empty <div id="menu"> </div> 
  • After the page is loaded, there is a javascript executed that calls the menu.php serverside script and modifies the DOM (document object model) of this webpage - the content of empty <div> element.
  • When you open the http://www.codegravity.com/menu.php manually, you can see what the content of the <div> element would be like

This way I can have the page optimized for the search engines and still use more than 100 links on every webpage. (Search engine bots usualy index a webpage as a single HTML and don't care about the javascript calls. They see your webpage as when you open it in a LYNX or another simple HTML text browser).

ajax menu
A CSS menu loaded by the AJAX approach


Here's the HTML code:

<div class="menu" id='ajaxmenu'></div> 
<!-- the div element where we want the menu to be loaded -->
<script> 
function execute() {
if (xmlHttp.readyState == 4) {
	if 	(xmlHttp.status == 200) { 
//when there is the HTTP response code 200 (what means OK)
		document.getElementById("ajaxmenu").innerHTML = xmlHttp.responseText;
//this is the main "trick", we are searching for the "ajaxmenu" element
//and filling up it's content through the innerHTML function
	}
}

}
// this is a non-unified way how to obtain a XMLHttpRequest object 
// (the IE's got it's own way to do it)
if (window.ActiveXObject) {
	xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); // for internet explorer
}
else if (window.XMLHttpRequest) {
	xmlHttp = new XMLHttpRequest(); // other browsers
}
xmlHttp.open("GET","http://www.codegravity.com/menu.php"); 
//here we are making a XMLHttpRequest to fetch the result of the
//serverside menu.php script
xmlHttp.onreadystatechange = execute;  
//when it's completed, we call the function execute you can see above
xmlHttp.send(null);

</script>

 

This approach is nothing new, the aim was just to show a simple example and to share my experiences with you.

I hope you enjoyed it and feel free to comment!

Thank you





Sponsored links:

Comments (1)
RSS comments
1. 27-07-2007 14:11
good tutorial
Written by paul (Guest)

Write Comment
Name:
E-mail
Homepage
Title:
BBCode:Web AddressEmail AddressBold TextItalic TextUnderlined TextQuoteCodeOpen ListList ItemClose List
Comment:



I wish to be contacted by email regarding additional comments
MathGuard security question, please solve:

J83         Q8Q      
1      2      L   AJX
IYJ   TR9   4S5      
P H    Q      M   Y3R
IFR         AMT      

Powered by AkoComment Tweaked Special Edition v.1.4.6
AkoComment © Copyright 2004 by Arthur Konze - www.mamboportal.com
All right reserved

<Firefox extensions - useful XUL resources Google web toolkit (GWT) useful links>
 











Download the NEW JoomlaWatch 1.2.5 from 24.3.2008 that works with Joomla 1.5 and Joomla 1.0

Sponsored:



Popular:
MathGuard
Random screenshot:

sm-nanachods.jpg


Poll
JoomlaWatch 1.2.5 installation was for me
 

News:

Registration required
I know that people don't like registering on websites, but I had to do it. From this moment you have to register first, before you download any file. This is better, because this way I can give you quick info about new version of downloadable files (eg. MathGuard) or some necessary security fixes. Thanks for understanding. (26.08.2007)

Books about investing and finance
I'd like to recommend you to read a book by Robert T. Kiyosaki - "Rich Dad, Poor Dad". However many people say it's quite a controversial book, it gave me a good motivation to improve my financial intelligence. (23.08.2007)

Fighting with the spam
All of the forms were protected with my own PHP antispam class - MathGuard, including the forms in the joomla modules I use. (02.05.2007)

Forum
Converted posts from the old punbb forum to the new joomlaboard (25.02.2007)

Improvement
Fixed some issues with the freelance registration, added a possibility to add a new programming resource, reorganized the structure of the programming resources. (24.02.2007)

New content management system
Codegravity.com is now running on joomla cms :) Added features like comments, forum etc. I hope you'll like it. Today I fixed the problem with the comment module which was not showing the correct images. There is also a new URL structure. For the old urls there is a 301 (Moved permanently) http redirect. (10.02.2007)

Moved to another hosting
Codegravity.com has been moved to another web hosting - CustomHosting.sk, from the previous pipni.cz, mainly because of the mod_rewrite problems and slow loading of the website. Sorry for some problems that lasted for about an hour. (19.01.2007)

Bookmark feed
The new feed from the del.icio.us has been added to the homepage codegravity.com. You 'll always have the latest information about the sites I like and you should visit as well! (21.11.2006)

News improved
Today I improved the news feeds. They are sorted into categories and I also added some other feeds that may be interested for you. (31.03.2006)

The Antispam verification
My email form was hijacked by the spam bots and I was recieving a lots of junk into my mailbox everyday. So, I decided to put a simple verification in the end of the form. You have to answer the result of addition of two numbers. Thank you for your understanding. (07.03.2006)

Java SE 6 Beta Mustang is out !
This beta release is a major milestone in the development of Mustang. It provides a complete stable snapshot of the final release functionality. http://mustang.dev.java.net (20.02.2006)

Google analytics, apply online
Apply online to google-analytics.com. They offer the new way of analysis of your website visitors. It is very promising, and when you will recieve the invitation code, you can send me one :) Thank you :) (13.02.2006)

Money Manager 2 - software for mobile accounting

FaceRSS - simple JavaServer Facer (JSF) component
I registered my new project - FaceRSS on freshmeat.net, here is the description: FaceRSS is a simple JavaServer Faces (JSF) component that allows you to display news from a specified URL source in one configurable JSP tag. This allows you to place news feeds on a Web site in a very simple way. It uses rsslib4j and therefore supports RSS version 0.9x, 1.0, and 2.0 with Dublin Core and Syndication namespaces. (06.01.2006)

My new blog :)
Check out my new [jroller.com/page/matto3c] blog on jroller.com website. Here is the RSS feed [http://jroller.com/rss/matto3c] if you'd like to add it into your news reader. (14.12.2005)

ERM-II and Slovakia
SLOVAKIA, my home country, is now one step closer to adopting the common European currency - EURO. At midnight between November 25 and November 26, the country joined the Exchange Rate Mechanism 2 (ERM-II) (30.11.2005)

www.jground.com
I established a new website - http://www.jground.com, it's all based on JSF and it should be all about Java and all other related things. Enjoy! (25.11.2005)

Swing text antialiasing

Java webhosting
I'm trying a new http://www.move.cz java webhosting on www.move.cz, but it seems they don't respond to my questions about JSF ;( (16.11.2005)

Migration from Weblogic to JBoss
Currently I am working on a task: Migration of one J2EE application from Weblogic to JBoss application server. So, if you have any suggestions or resources, I would be glad if you'll send me some. Thanks (15.11.2005)

Increased Java performance
Java increased its performance on desktop by 58% : [http://www.javalobby.org/java/forums/t54006.html] Java Performance
Improvement (15.11.2005)

Exadel Studio Pro
At this time I'm playing with JSF (Java Server Faces). I want to recommend you a great IDE - Exadel JSF Studio Pro. It costs about $99, and there is 15 days trial available. You can also try MyEclipse which has also like Exadel - WYSIWYG editor for editing JSP, JSF pages. It can save you a lot of time. For more info, visit www.exadel.com (27.09.2005)

Programming directory
added a new programming resources directory, where you can submit your own programming website (14.09.2005)

Programming forum
Now the Programming forum is included in website design. I put there some topics from previous version of this forum. (19.08.2005)

Ubytovanie, podnajom Poprad
Ponuka na podnajom, ubytovanie: Zrekonštruované podkrovie - rodinny dom Poprad-Matejovce - 2 izby + pracovna + kúpelna s kuchynou, strešné a plastové okná, samostatné plynové kúrenie, drevené plávajúce podlahy, garáž, velká záhrada a samostatný vchod. . . Cena: dohodou
Kontakt: 0949 401 409 (18.02.2008)
Privacy policy | freelance programmers | webmaster resources | business directory | advertise with codegravity.com

Locations of visitors to this page


©2003-2007 Codegravity.com - Practical usage of AJAX on this website