E_ACCESSDENIED
От: Аноним  
Дата: 24.01.05 05:17
Оценка:
Помогите разобраться с проблемой.
Есть плагин под IE. Я получаю доступ к документам сайта без проблем, если сайт без фреймов.
А если сайт с фреймами, то иногда получаю, к каждому документу фрейма, а иногда получаю отлуп E_ACCESSDENIED. Причем не понятно в каких случаях это происходит. Вот код по получению фреймовых документов:
// ===== Получаем интерфейс документа фрейма =====
///////////////////////////////////////////////////////////////////////////
IHTMLDocument2* CImagesProcessor::GetFrameDocument (IHTMLDocument2 *pHTMLDocument2, VARIANT index)
{
HRESULT hr;
IHTMLFramesCollection2 *pFramesCollection2;
IHTMLDocument2 *pHTMLFrameDoc2;
IHTMLWindow2 *pHTMLWindow2;
VARIANT frameOut;
// Получаем указатель на IHTMLFramesCollection
hr = pHTMLDocument2->get_frames (&pFramesCollection2);
if (hr != S_OK)
return NULL;
// Получаем доступ к IDispatch для фрейма
hr = pFramesCollection2->item (&index, &frameOut);
if (hr != S_OK)
return NULL;
// Получаем доступ к IHTMLWindow2
hr = frameOut.pdispVal->QueryInterface (IID_IHTMLWindow2, (void **) &pHTMLWindow2);
if (hr != S_OK)
return NULL;
// Получаем доступ к интерфейсу документа, загруженного во фрейм
hr = pHTMLWindow2->get_document (&pHTMLFrameDoc2); // Вот здесь иногда выдает E_ACCESSDENIED!!!
if (hr != S_OK)
return NULL;
return pHTMLFrameDoc2;
}

Может кто сталкивался или подскажет в чем проблема?
Заранее благодарен ответившим.

Востряков Егор.
Re: E_ACCESSDENIED
От: AndrewJD США  
Дата: 24.01.05 09:33
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Помогите разобраться с проблемой.

А>Есть плагин под IE. Я получаю доступ к документам сайта без проблем, если сайт без фреймов.
А>А если сайт с фреймами, то иногда получаю, к каждому документу фрейма, а иногда получаю отлуп E_ACCESSDENIED.
[skip]
А>Может кто сталкивался или подскажет в чем проблема?

Проблема с сross-frame security. С помощью такого кода ты не сможешь получать документы из фреймов, которые загружены из разных доменов
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re[2]: E_ACCESSDENIED
От: chooch  
Дата: 12.04.07 16:11
Оценка:
Здравствуйте, AndrewJD, Вы писали:
AJD>Проблема с сross-frame security. С помощью такого кода ты не сможешь получать документы из фреймов, которые загружены из разных доменов

А с помощью какого смогу ?
Re[3]: E_ACCESSDENIED
От: CKBO3HRK  
Дата: 17.04.07 21:26
Оценка:
Здравствуйте, chooch, Вы писали:

C>Здравствуйте, AndrewJD, Вы писали:

AJD>>Проблема с сross-frame security. С помощью такого кода ты не сможешь получать документы из фреймов, которые загружены из разных доменов

C>А с помощью какого смогу ?


с помощью IOleContainer можно. <a href='http://www.codepieces.net/index.php/ihtmldocument2-failed-for-frames-from-another-domain/'&gt;пример</a>
Re[4]: E_ACCESSDENIED
От: chooch  
Дата: 18.04.07 07:59
Оценка:
CKB>с помощью IOleContainer можно. <a href='http://www.codepieces.net/index.php/ihtmldocument2-failed-for-frames-from-another-domain/'&gt;пример</a>

Error 404 — Not Found
Re[5]: E_ACCESSDENIED
От: AndrewJD США  
Дата: 18.04.07 11:00
Оценка:
Здравствуйте, chooch, Вы писали:

CKB>>с помощью IOleContainer можно. <a href='http://www.codepieces.net/index.php/ihtmldocument2-failed-for-frames-from-another-domain/'&gt;пример</a>

C>Error 404 — Not Found

Убери /' из урла. Похожая статья есть в MSDN
"For every complex problem, there is a solution that is simple, neat,
and wrong."
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.