<IWebBrowser2::Document>

Тема в разделе "WASM.WIN32", создана пользователем uaau, 21 мар 2008.

  1. uaau

    uaau New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2006
    Сообщения:
    8
    Всем привет!
    имееться два IWebBrowser2, необходимо поменять местами IWebBrowser2.Document
    или как вариант, полностью заменить iwebbrowser один на второй.
    чтот никак не получаеться придумать как это реализовать.
    есть какие-то идеи?
     
  2. temp666

    temp666 New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2007
    Сообщения:
    141
  3. uaau

    uaau New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2006
    Сообщения:
    8
    это просто два окна браузера, их надо поменять местами
    на ИЕ6 менял, просто parent-ы у hwnd. при ИЕ7 криво как-то это выходит.
    вот решил попробывать поменять целиком, либо document , либо window
     
  4. temp666

    temp666 New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2007
    Сообщения:
    141
  5. Proteus

    Proteus Member

    Публикаций:
    0
    Регистрация:
    19 июн 2004
    Сообщения:
    344
    Адрес:
    Russia
    Раз уж зашёл разговор. Никто не знает как перехватить ситуацию когда HTML контрол не может соедениться с сервером, или скачать страницу. Или просто вместо инфы об ошибке конекта показаь свою страницу?

    В старом IE можно было поймать попытку отобразить служебную страницу с информаций об ошбибке, но это способ явно совсем не корректный. В XP с более новым IE не получается подцепиться никак. В реестре эта страница тоже помойму ничем не обозначена (в отличии от других служевбных стнаниц и домашней)...
     
  6. Stub

    Stub New Member

    Публикаций:
    0
    Регистрация:
    11 май 2004
    Сообщения:
    311
    Адрес:
    Siberia
    так реализуй перехват интерфейса и лови нужные события
     
  7. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
     
  8. REASY

    REASY New Member

    Публикаций:
    0
    Регистрация:
    24 дек 2007
    Сообщения:
    108
    Ого, три года теме =)
    Proteus
    Получилось у вас "Или просто вместо инфы об ошибке конекта показаь свою страницу?" ?

    Я столкнулся с похожей проблемой. Плагин для IE, мониторит url, по которым ходит пользователь. Нужно реализовать следующее: Если переходят на сервер, которого нет(допустим, askdkalsjdlkasdklaklsdklasd.ru), то перехватить это и вместо показа стандартной страницы об ошибке(или переход на autosearch), перенаправить пользователя, допустим, на http://blablabla.ru
    Код (Text):
    1. STDMETHODIMP CPlugin::Invoke(DISPID dispidMember, REFIID riid, LCID lcid,
    2.                              WORD wFlags,
    3.                              DISPPARAMS* pDispParams, VARIANT* pvarResult,
    4.                              EXCEPINFO*  pExcepInfo,  UINT* puArgErr)
    5. {
    6. .....
    7. switch (dispidMember)
    8. {
    9.    ....
    10.    case DISPID_NAVIGATEERROR:
    11.    {
    12.       IDispatch* pDisp = pDispParams->rgvarg[4].pdispVal;
    13.       url = SafeGetString(pDispParams->rgvarg[3].pvarVal);
    14.       targetFrameName = SafeGetString(pDispParams->rgvarg[2].pvarVal);
    15.       dwStatusCode = SafeGetLongVal(pDispParams->rgvarg[1].pvarVal);
    16.    
    17.       bool isMain = m_spWebBrowser.IsEqualObject(pDisp);
    18.       TR(L"DISPID_NAVIGATEERROR %d, url=%ls, target frame=%ls", dwStatusCode, url.c_str(),     targetFrameName.c_str());
    19.     if (dwStatusCode == INET_E_RESOURCE_NOT_FOUND)
    20.     {
    21.        // не кидать на страницу поиска
    22.        *(((*pDispParams).rgvarg)[0].pboolVal) = VARIANT_TRUE;
    23.        // нужного эффекта ниже написанный код не дает, то есть
    24.        // на http://blablabla.ru не перекидывает.
    25.        CComPtr<IWebBrowser2> spBrowser;
    26.        pDisp->QueryInterface(IID_IWebBrowser2, (void**)&spBrowser);
    27.  
    28.        spBrowser->Navigate(L"http://blablabla.ru", NULL, NULL, NULL, NULL);
    29.    }    
    30. .....
    31. }
    32. }
     
  9. REASY

    REASY New Member

    Публикаций:
    0
    Регистрация:
    24 дек 2007
    Сообщения:
    108
  10. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
    Можно еще, кстати, стриггерить какой-нибудь другой веб-браузер ивент и в нем пронавигировать куда нужно