1 (edited by RZ-007 2023-02-08 18:31:14)

Topic: TWebBrowser

использую этот код:

var
    Web: TWebBrowser;


procedure Form1_OnShow (Sender: string; Action: string);
var
    reg : TRegistry;
begin
    // https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330730(v=vs.85)
    reg:= TRegistry.Create;
    try
        reg.Access := KEY_ALL_ACCESS;
        reg.RootKey:= HKEY_CURRENT_USER;
        if reg.OpenKey('Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION', True) then
        begin
            if not reg.ValueExists(ExtractFileName(Application.ExeName)) then
                reg.WriteInteger(ExtractFileName(Application.ExeName), 11000); // 10001 - IE10,  11000 - IE11  https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330730(v=vs.85)
        end;
        reg.CloseKey;
    finally
        reg.Free;
    end;

    Web := TWebBrowser.Create(Form1);
    TWinControl(Web).Parent := Form1.Panel1;
    Web.Align := alClient;
    Web.Width := Form1.Width;
    Web.Height := Form1.Height-50;
    Web.Silent := 1;
end;

но бывает при клике в браузере MVD вылазит новое окно...как поправить код, чтобы окно открывалось в самом браузере MVD...???
С Большим Уважением ....

Post's attachments

Attachment icon Скриншот 08-02-2023 211655.png 115.25 kb, 67 downloads since 2023-02-08 

2 (edited by vovka3003 2023-02-08 20:43:49)

Re: TWebBrowser

В Selenium-e я с этим боролся удаляя на странице все target-ы ссылок в цикле.

3 (edited by RZ-007 2023-02-08 21:53:41)

Re: TWebBrowser

vovka3003 wrote:

В Selenium-e я с этим боролся удаляя на странице все target-ы ссылок в цикле.

приветствую vovka...а в MVD это возможно, если ДА то как...???

Я так понимаю: надо при открытии окна перехватить адрес, закрыть окно, и новый полученный адрес
открыть в браузере MVD правилильно...??? и как мне такой скрипт придумать...(с чего начать...???)

Re: TWebBrowser

RZ-07, интересный код... то есть, зарегистрировав программу, сделанную в MVDB, как браузер по умолчанию, программа превращается в браузер? То есть HTML-ссылки начинают открываться в ней?  Странно, мне казалось, что для этого нужно как-то обрабатывать параметры, передаваемые при вызове экзешника...


А насчет удаления target, то самый незатейливый способ - это скачивать страницы, сохранять их локальный файл и обрабатывать, Впрочем, возможны чудеса OLE, если вы знаете все методы доступа к IE. Да, сохранять придется тоже через OLE... Сразу признаюсь, я в этом не силён, увы...

Визуальное программирование: блог и телеграм-канал.

Re: TWebBrowser

Благодарю Вас k245...у меня тяжело с общением на программном языке...
стараюсь черпать инфу на форуме и просторах интернета...
Я так понимаю ни кто с этим не сталкивался.....??? а если было,каким было решение...???

6 (edited by vovka3003 2023-02-09 19:31:19)

Re: TWebBrowser

k245 wrote:

А насчет удаления target, то самый незатейливый способ - это скачивать страницы, сохранять их локальный файл и обрабатывать

Без OLE, через веб-драйвер это можно сделать в рантайме внутри хрома, внедрив скрипт непосредственно в страницу.
Правда кроме target-ов там может торчать много других сучков, например вызов new Window(), а это уже сложнее прибивать.
А IE и TWebBrowser-у уже давно свечку поставил современный веб, и даже несмотря на то, что для IE тоже драйвер есть - его юзать бессмысленно.

Re: TWebBrowser

Понял... Спасибочки ребят Огромное...(а тоб я на TWebBrowse и постарел бы)...