File: testContentLoader.html

Recommend this page to a friend!
  Classes of Manuel Lemos   Fast Page Content Loader   testContentLoader.html   Download  
File: testContentLoader.html
Role: Example script
Content type: text/plain
Description: Content loader example page
Class: Fast Page Content Loader
Load remote content without delaying the page
Author: By
Last change: - Added support to define priorities to each content element so one element
can be loaded before the others.
- Removed the dimensions of content that does not have a fixed size.
Date: 13 years ago
Size: 4,994 bytes
 

Contents

Class file image Download
<!-- /* * testContentLoader.html * * @(#) $Id: testContentLoader.html,v 1.3 2011/02/17 03:25:06 mlemos Exp $ * */ --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="en"> <head> <title>Test the Content Loader Object</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <style type="text/css"> * { font-family: sans-serif,arial,helvetica } .content { border-width: 1px; border-style: dashed; border-color: blue; padding: 4px; } </style> <script type="text/javascript" src="contentLoader.js"></script> <script type="text/javascript"><!-- /* * Create the content loader object */ var cl = new ML.content.contentLoader(); /* * Do we want to see debug messages in the browser console or alert window? */ cl.debug = true; /* * We can define default content that will be displayed until the actual * content is loaded. */ cl.delayedContent = '<div style="text-align: center"><img src="http://files.jsclasses.org/graphics/jsclasses/loading.gif" width="24" height="24"></div>' // --></script> </head> <body> <h1>Test the Content Loader Object</h1> <script type="text/javascript"><!-- /* * Checking the URL parameter to determine if we load the remote content * (using the object) delaying it until the whole page is loaded, or * if we just output it (without using the object * * Keep in mind that currently the object is not delaying the loading of * the content when the browser is Internet Explorer or Opera due to some * incompatibility issues. */ var href = window.location.href; var question = href.indexOf('?'); if(question == -1) delayed = true; else delayed = (href.substr(question + 1) === '1') if(delayed) { document.write('<h2>Good: Loading remote content (with the object) delaying it until the whole page loads <a href="?1">Reload</a></h2>'); document.write('<p><a href="?0">Click here</a> to see the remote content loading immediately and delaying the rest of the page.</p>'); } else { document.write('<h2>Bad: Loading remote content immediately (without the object) <a href="?0">Reload</a></h2>'); document.write('<p><a href="?1">Click here</a> to see the remote content being delayed to load the rest of the page immediately.</p>'); } /* * Define some example remote content to show in the page */ var content = { adsense: '<script type="text/javascript"><!--\n'+ 'google_ad_client = "ca-pub-2951707118576741";'+ 'google_ad_slot = "5451588426";\n'+ 'google_ad_width = 728;\n'+ 'google_ad_height = 90;\n'+ '//-->\n'+ '<' + '/script>\n'+ '<script type="text/javascript"\n'+ 'src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\n'+ '<' + '/script>\n', twitter: '<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="jsclasses" data-related="jsclassesearly:News and insights about the JSClasses site features and the JavaScript world in general" data-related="phpclasses:Ready to use PHP components" data-related="phpclassesearly:News and insights about the PHPClasses site features and the PHP world in general">'+ '<img src="http://files.jsclasses.org/graphics/jsclasses/twitter.png" width="24" height="24" alt="ReTweet" align="middle" border="0"> ReTweet</a>\n'+ '<script type="text/javascript" src="http://platform.twitter.com/widgets.js"><'+'/script>', igoogle: '<script src="http://www.gmodules.com/ig/ifr?url=http://www.google.com/ig/modules/datetime_v2/datetime_v2.xml&amp;up_color=blue&amp;up_dateFormat=wmd&amp;up_firstDay=0&amp;up_24hourClock=1&amp;up_clocks=&amp;synd=open&amp;w=320&amp;h=148&amp;title=&amp;lang=en&amp;country=ALL&amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;output=js"><'+'/script>' }; // --></script> <h3>iGoogle gadget here</h3> <div class="content"> <script type="text/javascript"><!-- /* * Are we delaying the content? */ if(delayed) { /* * Yes, lets queue the content for loading it later * It will appear in this position of the page. */ cl.addContent({ content: content.igoogle, inline: true, priority: 0 }); } else { /* * No, lets dump the content in the page immediately and watch it * delaying the loading of the rest of the page. */ document.write(content.igoogle); } // --></script> </div> <h3>AdSense ad here</h3> <div class="content"> <script type="text/javascript"><!-- if(delayed) cl.addContent({ content: content.adsense, inline: true, width: 728, height: 90, priority: 2 }); else document.write(content.adsense); // --></script> </div> <h3>Twitter button here</h3> <div class="content"> <script type="text/javascript"><!-- if(delayed) cl.addContent({ content: content.twitter, inline: true, priority: 1 }); else document.write(content.twitter); // --></script> </div> <script type="text/javascript"><!-- /* * Here we reached the end of the page, it's time to load the queued * remote content in the original places. */ cl.loadContent(); // --></script> <h2>The page has loaded now!</h2> </body> </html>