HtmlWindowCollection Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет окна, содержащиеся в другом HtmlWindow.
public ref class HtmlWindowCollection : System::Collections::ICollection
public class HtmlWindowCollection : System.Collections.ICollection
type HtmlWindowCollection = class
interface ICollection
interface IEnumerable
Public Class HtmlWindowCollection
Implements ICollection
- Наследование
-
HtmlWindowCollection
- Реализации
Примеры
Следующий пример кода проверяет каждый документ на странице, содержащей кадры, и создает таблицу всех исходящих гиперссылок с каждой страницы для последующей проверки.
private void GetLinksFromFrames()
{
Hashtable linksTable = new Hashtable();
string frameUrl;
if (!(webBrowser1.Document == null))
{
HtmlWindow currentWindow = webBrowser1.Document.Window;
if (currentWindow.Frames.Count > 0)
{
foreach (HtmlWindow frame in currentWindow.Frames)
{
frameUrl = frame.Url.ToString();
Hashtable frameLinksHash = new Hashtable();
linksTable.Add(frameUrl, frameLinksHash);
foreach (HtmlElement hrefElement in frame.Document.Links)
{
frameLinksHash.Add(hrefElement.GetAttribute("HREF"), "Url");
}
}
}
else
{
Hashtable docLinksHash = new Hashtable();
linksTable.Add(webBrowser1.Document.Url.ToString(), docLinksHash);
foreach (HtmlElement hrefElement in webBrowser1.Document.Links)
{
docLinksHash.Add(hrefElement.GetAttribute("HREF"), "Url");
}
}
}
}
Dim LinksTable As Hashtable
Private Sub GetLinksFromFrames()
LinksTable = New Hashtable()
Dim FrameUrl As String
If (WebBrowser1.Document IsNot Nothing) Then
With WebBrowser1.Document
Dim CurrentWindow As HtmlWindow = .Window
If (CurrentWindow.Frames.Count > 0) Then
For Each Frame As HtmlWindow In CurrentWindow.Frames
FrameUrl = Frame.Url.ToString()
Dim FrameLinksHash As New Hashtable()
LinksTable.Add(FrameUrl, FrameLinksHash)
For Each HrefElement As HtmlElement In Frame.Document.Links
FrameLinksHash.Add(HrefElement.GetAttribute("HREF"), "Url")
Next
Next
Else
Dim DocLinksHash As New Hashtable()
LinksTable.Add(.Url.ToString(), DocLinksHash)
For Each HrefElement As HtmlElement In .Links
DocLinksHash.Add(HrefElement.GetAttribute("HREF"), "Url")
Next
End If
End With
End If
End Sub
Комментарии
HTML-документ может состоять из FRAMESET того, что определяет несколько фиксированных FRAME объектов, каждый из которых содержит собственную HTML-страницу. Кроме того, документ может содержать ряд IFRAME объектов, которые могут произвольно размещать документы внутри других документов.
FRAME объекты и IFRAME объекты представлены на самом высоком уровне HtmlWindowCollection, который содержит элементы типа HtmlWindow.
HtmlWindowCollection IEnumerator поддерживает интерфейс, чтобы его можно было использовать в конструкциях цикла. Он также определяет метод Item, который позволяет получить доступ к элементам коллекции через вызов метода или с помощью стандартного синтаксиса массива.
Если вы создаете новые окна с Open помощью методов или OpenNew методов, а документы, размещенные этими окнами, содержат FRAME или IFRAME элементы, эти элементы будут отображаться на HtmlWindowCollection родительской странице.
Дополнительные сведения о кадрах см. в документации по свойству Frames .
Свойства
| Имя | Описание |
|---|---|
| Count |
Возвращает количество элементов в коллекции. |
| Item[Int32] |
Извлекает окно кадра, указав положение кадра в коллекции. |
| Item[String] |
Извлекает окно кадра, указав имя кадра. |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetEnumerator() |
Возвращает перечислитель, который может выполнять итерацию всех элементов в элементе HtmlWindowCollection. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Копирует элементы коллекции в определенный Arrayиндекс, начиная с определенного Array индекса. |
| ICollection.IsSynchronized |
Возвращает значение, указывающее, синхронизирован ли доступ к коллекции (потокобезопасный). |
| ICollection.SyncRoot |
Возвращает объект, который можно использовать для синхронизации доступа к коллекции. |
Методы расширения
| Имя | Описание |
|---|---|
| AsParallel(IEnumerable) |
Включает параллелизацию запроса. |
| AsQueryable(IEnumerable) |
Преобразует IEnumerable в IQueryable. |
| Cast<TResult>(IEnumerable) |
Приведение элементов IEnumerable к указанному типу. |
| OfType<TResult>(IEnumerable) |
Фильтрует элементы IEnumerable на основе указанного типа. |