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