如何使用BHO将脚本标记插入头标记的顶部/开头?

时间:2013-10-22 07:15:14

标签: c# bho

我在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#中完成。

2 个答案:

答案 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 的第二个参数。