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.
HtmlWindowCollectionIEnumerator поддерживает интерфейс, чтобы его можно было использовать в конструкциях цикла. Он также определяет метод Item, который позволяет получить доступ к элементам коллекции с помощью вызова метода или с помощью стандартного синтаксиса массива.
Если вы создаете новые окна с Open помощью методов или OpenNew документов, размещенных в этих окнах, или IFRAME
FRAME
элементов, эти элементы будут отображаться на 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 |
Возвращает объект, который можно использовать для синхронизации доступа к коллекции. |
Методы расширения
Cast<TResult>(IEnumerable) |
Приводит элементы объекта IEnumerable к заданному типу. |
OfType<TResult>(IEnumerable) |
Выполняет фильтрацию элементов объекта IEnumerable по заданному типу. |
AsParallel(IEnumerable) |
Позволяет осуществлять параллельный запрос. |
AsQueryable(IEnumerable) |
Преобразовывает коллекцию IEnumerable в объект IQueryable. |