将JavaScripts文件动态添加到正文而不是头部

时间:2011-07-31 03:02:38

标签: c# asp.net

我做了足够多的研究,并决定将JavaScript移到页面底部。 这就是为什么我应该这样做http://developer.yahoo.com/performance/rules.html#js_bottom

我编写了下面的代码,这段代码只能在标题中添加JavaScript。 如何在< / body>之前添加JavaScript?的页面?我正在考虑使用

下面的代码会将JavaScript添加到标题而不是正文。

 public static string AddJavascript(string filename, Page ThisPage)
        {
            HtmlGenericControl js = new HtmlGenericControl("script");
            js.Attributes["type"] = "text/javascript";
            js.Attributes["src"] = filename;
            ThisPage.Header.Controls.Add(js);
            //Add to bottom of the page.
            return null;
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            AddJavascript("myjd.js", Page);
        }

我喜欢动态地制作类似下面的东西。我有几个JavaScript文件,所以我真的想将它们分开。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>
</title>
</head>
<body>
    <div>
    my content here
    </div>
    <!---javascript should go below here-->
<script type="text/javascript" src="myjd.js">
</script>
</body>
</html>

2 个答案:

答案 0 :(得分:3)

使用ThisPage.ClientScript.RegisterStartupScript(this.GetType(), "myjd", "[script]", true)在结尾处注册(就在关闭form代码之前)。

答案 1 :(得分:0)

您可以在页面底部创建占位符,然后使用代码将js添加到占位符。