Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Include JavaScript files safely

0.00/5 (No votes)
12 Feb 2013 1  
How to include JavaScript files safely.

Sometimes, you might accidently exclude JavaScript files because you were to use the method below to include JavaScript files.

<script language="javascript" src="Scripts/jquery-1.4.1.min.js" type="text/javascript" ></script>

Actually this method works most of the time. But if your project goes complicated and more modules are required to develop and you started to use Folder to group your pages. Here I use three child folders for the simulation.

image

Let check what will happen to the JavaScript file that I wish to include in NewPage.aspx.

image

When I inspect the javascript files by using FireBug, I cannot see it from the Script listing.

image

But it is available in Default.aspx.

To overcome this, I prefer to use code behind to include JavaScript files. Below is the code that I placed in the master page for this purpose.

protected void Page_PreRender(object sender, EventArgs e)
{
    System.Web.UI.HtmlControls.HtmlGenericControl script;

    script = new System.Web.UI.HtmlControls.HtmlGenericControl("script");
    script.Attributes["type"] = "text/javascript";
    script.Attributes["src"] = Page.ResolveUrl("~/Scripts/jquery-1.4.1.min.js?v=1");
    Page.Header.Controls.Add(script);
}

As you expected, now both pages can have JavaScript file included.

image

image

script.Attributes["src"] = Page.ResolveUrl("~/Scripts/jquery-1.4.1.min.js?v=1");

You might curious why I included a query string at the end of the javascript file name. This is because during the development, JavaScript files change frequently. And my preferred browser – Firefox comes with a feature which will cache the JavaScript files. Most probably this is to has a better performance but it make the new version of my javascript cannot be render out. So this workaround allow me to trick the browser to always get the file from server whenever I change the “version” (v=1) number.

Hope this sharing make your JavaScript files render out safely.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here