Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ways to add javascript files dynamically in a page

I have seen Scriptaculous.js file to include its required javascript files dynamically. Is there any better approach to include javascript dynamically.

For example, I would like to include my js files like,

<script src="single.js?files=first.js,second.js,third.js..."></script> 

How can I do that in an efficient manner?

like image 480
Nazmul Avatar asked Apr 22 '11 02:04

Nazmul


People also ask

How do I include a JavaScript file in a Web page?

To include an external JavaScript file, we can use the script tag with the attribute src . You've already used the src attribute when using images. The value for the src attribute should be the path to your JavaScript file. This script tag should be included between the <head> tags in your HTML document.

How do you dynamically load a script in HTML?

For loading a script file dynamically using JavaScript, the basic steps are: Create the script element. Set the src attribute on the script element to point to the file we want to load. Add the script element to the DOM.


2 Answers

To load a .js or .css file dynamically, in a nutshell, it means using DOM methods to first create a swanky new "SCRIPT" or "LINK" element, assign it the appropriate attributes, and finally, use element.appendChild() to add the element to the desired location within the document tree. It sounds a lot more fancy than it really is. Lets see how it all comes together:

function loadjscssfile(filename, filetype){  if (filetype=="js"){ //if filename is a external JavaScript file   var fileref=document.createElement('script')   fileref.setAttribute("type","text/javascript")   fileref.setAttribute("src", filename)  }  else if (filetype=="css"){ //if filename is an external CSS file   var fileref=document.createElement("link")   fileref.setAttribute("rel", "stylesheet")   fileref.setAttribute("type", "text/css")   fileref.setAttribute("href", filename)  }  if (typeof fileref!="undefined")   document.getElementsByTagName("head")[0].appendChild(fileref) }  loadjscssfile("myscript.js", "js") //dynamically load and add this .js file loadjscssfile("javascript.php", "js") //dynamically load "javascript.php" as a JavaScript file loadjscssfile("mystyle.css", "css") ////dynamically load and add this .css file 

i hope its use full

like image 144
Anand Thangappan Avatar answered Sep 19 '22 15:09

Anand Thangappan


You can use the jQuery.getScript() function... I think it will be much easier to you with this to include a JavaScript .js file.

Here is the reference.

like image 30
Vivek Avatar answered Sep 16 '22 15:09

Vivek