0

我在 c# 中使用此代码将 js 注入 html 页面。这工作正常。

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 标签中的第一个元素。

<head>
//INSERT SCRIPT HERE
 <script type="text/javascript" src="common.js"></script>
 <script type="text/javascript" src="omni-controls.js"></script></head>

如何在 c# 中做到这一点。

4

2 回答 2

0

获取 HEAD 的第一个子元素并将其用作元素方法insertBefore的第二个参数。

于 2013-10-22T15:26:18.090 回答
0

你可以这样做:

if (!ClientScript.IsStartupScriptRegistered("youScriptName"))
{
     ClientScript.RegisterStartupScript(GetType(), "youScriptName", 
     @"<script type=""text/javascript"" src=""yourpath/script.js""></script>");
}

你应该在Page_Load

于 2013-10-22T07:25:18.807 回答