我在c#中使用此代码将js注入到html page.this工作正常。
IHTMLElement head = (IHTMLElement)((IHTMLElementCollection)document.all.tags("head")).item(null, 0);
IHTMLScriptElement scriptObject3 = (IHTMLScriptElement)document.createElement("script");
scriptObject3.type = @"text/javascript";
scriptObject3.text = System.IO.File.ReadAllText(Environment.CurrentDirectory + @"\all.js");
((HTMLHeadElement)head).appendChild((IHTMLDOMNode)scriptObject3);
但我希望将此作为头标记中的第一个元素。
<head>
//INSERT SCRIPT HERE
<script type="text/javascript" src="common.js"></script>
<script type="text/javascript" src="omni-controls.js"></script></head>
如何在c#中完成。
答案 0 :(得分:0)
你可以这样做:
if (!ClientScript.IsStartupScriptRegistered("youScriptName"))
{
ClientScript.RegisterStartupScript(GetType(), "youScriptName",
@"<script type=""text/javascript"" src=""yourpath/script.js""></script>");
}
您应该在Page_Load
答案 1 :(得分:0)
获取HEAD的第一个孩子并将其用作Element的方法 insertBefore 的第二个参数。