HtmlElement.InsertAdjacentElement Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Вставляет новый элемент в модель 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
Комментарии
Не вызывайте этот метод до тех пор, DocumentCompleted пока не произошло событие в элементе WebBrowser управления. Вызов этого метода до этого может привести к исключению, так как загрузка документа не будет завершена.
Допустимость значения HtmlElementInsertionOrientation зависит от типа элемента. Например, является допустимым, AfterBegin если элемент является элементом DIV
, но не является элементом SCRIPT
или IMG
, ни один из которых не может содержать дочерние элементы.