كيفية الحصول على نموذج كائن المستعرض إطار HTML

ملخص

استخدام تفاصيل هذه المقالة تستضيف عنصر تحكم WebBrowser تقنية معيارية للوصول إلى نموذج كائن المستعرض ﻹطار في صفحة HTML داخل عنصر التحكم. يوفر طراز الكائن هذه الوظائف الإضافية التي لم يتم كشفها لنافذة الإطار من خلال نموذج كائن HTML.

مزيد من المعلومات

التعليمة البرمجية التالية يوضح كيفية الوصول إلى "نموذج كائن المستعرض" الإطارات الموجودة في صفحة HTML لتحديث محتويات كل إطار.


أهم قطعة من التعليمات البرمجية يستخدم أسلوب IOleContainer::EnumObjects كائن مستند HTML لتعداد التضمينات الموجودة على الصفحة. يمثل كل هذه التضمينات الموجودة عنصر تحكم في الصفحة. عن طريق الاستعلام عن كل كائن عنصر التحكم ل IWebBrowser2، تحديد هذه التعليمات البرمجية ما إذا كان عنصر التحكم دون إطار. ويمثل IWebBrowser2 "طراز كائن المستعرض"; في حال نجاح QueryInterface لهذه الواجهة، والنتيجة إشارة إلى "طراز كائن المستعرض".

// Get the IDispatch of the documentLPDISPATCH lpDisp = NULL;
lpDisp = m_webBrowser.GetDocument();

if (lpDisp)
{
IOleContainer* pContainer;

// Get the container
HRESULT hr = lpDisp->QueryInterface(IID_IOleContainer,
(void**)&pContainer);
lpDisp->Release();

if (FAILED(hr))
return hr;

IEnumUnknown* pEnumerator;

// Get an enumerator for the frames
hr = pContainer->EnumObjects(OLECONTF_EMBEDDINGS, &pEnumerator);
pContainer->Release();

if (FAILED(hr))
return hr;

IUnknown* pUnk;
ULONG uFetched;

// Enumerate and refresh all the frames
for (UINT i = 0; S_OK == pEnumerator->Next(1, &pUnk, &uFetched); i++)
{
IWebBrowser2* pBrowser;

hr = pUnk->QueryInterface(IID_IWebBrowser2, (void**)&pBrowser);
pUnk->Release();

if (SUCCEEDED(hr))
{
// Refresh the frame
pBrowser->Refresh();
pBrowser->Release();
}
}

pEnumerator->Release();
}
ملاحظة: عناصر تحكم ActiveX التي يتم استضافتها في صفحة HTML باستخدام هذه التقنية بطريقة مماثلة. بشكل عام، غير أمن للبرمجة النصية عنصر تحكم الوصول إلى "طراز كائن المستعرض" غير آمنة ويجب تطبيق واجهة IObjectSafety وفقا لذلك للأمان.
(ج) 1998 شركة مايكروسوفت، جميع الحقوق محفوظة. المساهمات المقدمة من سكوت روبرتس، Microsoft Corporation.
خصائص

رقم الموضوع: 196340 - آخر مراجعة: 12‏/01‏/2017 - المراجعة: 1

تعليقات