HtmlElement.InsertAdjacentElement 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将新元素插入到文档对象模型 (DOM) 中。
public:
System::Windows::Forms::HtmlElement ^ InsertAdjacentElement(System::Windows::Forms::HtmlElementInsertionOrientation orient, System::Windows::Forms::HtmlElement ^ newElement);
public System.Windows.Forms.HtmlElement InsertAdjacentElement (System.Windows.Forms.HtmlElementInsertionOrientation orient, System.Windows.Forms.HtmlElement newElement);
public System.Windows.Forms.HtmlElement? InsertAdjacentElement (System.Windows.Forms.HtmlElementInsertionOrientation orient, System.Windows.Forms.HtmlElement newElement);
member this.InsertAdjacentElement : System.Windows.Forms.HtmlElementInsertionOrientation * System.Windows.Forms.HtmlElement -> System.Windows.Forms.HtmlElement
Public Function InsertAdjacentElement (orient As HtmlElementInsertionOrientation, newElement As HtmlElement) As HtmlElement
参数
此元素要插入到的相对于当前元素的位置。
- newElement
- HtmlElement
要插入的新元素。
返回
刚才插入的 HtmlElement。 如果插入失败,将返回 null
。
示例
下面的代码示例将一个 DIV
元素插入到用户在 ADatum.com 服务器外部查看的每个页面的顶部。 该示例要求窗体包含名为 WebBrowser 的 WebBrowser1
控件。 示例还必须导入命名空间 System.Text.RegularExpressions。
public void AddDivMessage()
{
Uri currentUri = new Uri(webBrowser1.Url.ToString());
String hostName = null;
// Ensure we have a host name, and not just an IP, against which to test.
if (!(currentUri.HostNameType == UriHostNameType.Dns))
{
DnsPermission permit = new DnsPermission(System.Security.Permissions.PermissionState.Unrestricted);
permit.Assert();
IPHostEntry hostEntry = System.Net.Dns.GetHostEntry(currentUri.Host);
hostName = hostEntry.HostName;
}
else
{
hostName = currentUri.Host;
}
if (!hostName.Contains("adatum.com"))
{
AddTopPageMessage("You are viewing a web site other than ADatum.com. " +
"Please exercise caution, and ensure your Web surfing complies with all " +
"corporate regulations as laid out in the company handbook.");
}
}
private void AddTopPageMessage(String message)
{
if (webBrowser1.Document != null)
{
HtmlDocument doc = webBrowser1.Document;
// Do not insert the warning again if it already exists.
HtmlElementCollection returnedElems = doc.All.GetElementsByName("ADatumWarningDiv");
if ((returnedElems != null) && (returnedElems.Count > 0))
{
return;
}
HtmlElement divElem = doc.CreateElement("DIV");
divElem.Name = "ADatumWarningDiv";
divElem.Style = "background-color:black;color:white;font-weight:bold;width:100%;";
divElem.InnerText = message;
divElem = doc.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.AfterBegin, divElem);
}
}
Private Sub AddDivMessage()
Dim CurrentUri As New Uri(WebBrowser1.Url.ToString())
Dim HostName As String
' Ensure we have a host name, and not just an IP, against which to test.
If (Not CurrentUri.HostNameType = UriHostNameType.Dns) Then
Dim Permit As New DnsPermission(System.Security.Permissions.PermissionState.Unrestricted)
Permit.Assert()
Dim HostEntry As IPHostEntry = System.Net.Dns.GetHostEntry(CurrentUri.Host)
HostName = HostEntry.HostName
Else
HostName = CurrentUri.Host
End If
If (Not HostName.Contains("adatum.com")) Then
AddTopPageMessage("You are viewing a web site other than ADatum.com. " & _
"Please exercise caution, and ensure your web surfing complies with all " & _
"corporate regulations as laid out in the company handbook.")
End If
End Sub
Private Sub AddTopPageMessage(ByVal Message As String)
If (WebBrowser1.Document IsNot Nothing) Then
With WebBrowser1.Document
' Do not insert the warning again if it already exists.
Dim ReturnedElems As HtmlElementCollection = .All.GetElementsByName("ADatumWarningDiv")
If (Not (ReturnedElems Is Nothing) And (ReturnedElems.Count > 0)) Then
Exit Sub
End If
Dim DivElem As HtmlElement = .CreateElement("DIV")
DivElem.Name = "ADatumWarningDiv"
DivElem.Style = "background-color:black;color:white;font-weight:bold;width:100%;"
DivElem.InnerText = Message
DivElem = .Body.InsertAdjacentElement(HtmlElementInsertionOrientation.AfterBegin, DivElem)
End With
End If
End Sub
注解
在控件上的 WebBrowser 事件发生之前DocumentCompleted,不要调用此方法。 在此之前调用此方法可能会导致异常,因为文档尚未完成加载。
值 HtmlElementInsertionOrientation 是否有效将取决于 元素的类型。 例如, AfterBegin 如果元素是 ,DIV
则有效,但如果它是 或 IMG
元素,则无效,这两个SCRIPT
元素都不能包含子元素。