C ++ Builder — URL блока C ++ WebBrowser

Как я могу заблокировать любой URL в TWebBrowser в C ++ Builder?

Я попробовал этот код, но он не сработал так, как я ожидал.

void __fastcall TForm1::WebBrowser1BeforeNavigate2(TObject *ASender, const IDispatch *pDisp,
const OleVariant &URL, const OleVariant &Flags, const OleVariant &TargetFrameName,
const OleVariant &PostData, const OleVariant &Headers,
WordBool &Cancel)
{
if (URL.operator UnicodeString() == запрещенный_адрес)
WebBrowser1->Stop();
}

0

Решение

запрещенный_адрес это не URL. Вы должны проверить полный URL, в том числе http: или же https: префикс, по мере необходимости.

Кроме того, недостаточно просто позвонить Stop()Вам также нужно установить обработчик события Cancel параметр к истине, а также.

void __fastcall TForm1::WebBrowser1BeforeNavigate2(TObject *ASender, const IDispatch *pDisp,
const OleVariant &URL, const OleVariant &Flags, const OleVariant &TargetFrameName,
const OleVariant &PostData, const OleVariant &Headers,
WordBool &Cancel)
{
System::String sUrl = URL;
if (sUrl == _D("http://the full url here"))
{
Cancel = VARIANT_TRUE;
WebBrowser1->Stop();
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]