Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: JavaScript
Expertise: Advanced
Oct 3, 2005

Modifying Client JavaScript Code at Runtime

You can make new tags/components using JavaScript blocks. Simply include a script iterating through all the script blocks in your page:

<script language="javascript">
function writeComponent(){
  var scriptblocks = document.getElementsByTagName("script");
  for (i=0;i < scriptblocks.length;i++){
     //iterate through all the script blocks
     if (scriptblocks[i].innerHTML== "writeComponent()"){
         //initialize your component as javascript object
         var classname = scriptblocks[i].getAttribute("classname"); 
         eval("var component = new " + classname + "()");
         //the JsObject should implement a getElement() function
         //so is can be retrieved and replace the scriptblock element
         var parent    = scriptblocks[i].parentNode;
         parent.replaceChild(component.getElement(),scriptblocks[i]);
         var attribs = scriptblocks[i].attributes;
         //you can copy attribute values in your constructor
         //or set the style of the component element
     }
  }
} 
</script> 

<html> etc...
<script language="javascript" classname="myCompClass">writeComponent()</script>
As soon as the browser renders the scriptblock, the function is called and the browser replaces the script block with whatever component you've written.

Eddy Spreeuwers
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap