Показать сообщение отдельно
  #1  
Старый 11.12.2020, 07:17
Creator13 Creator13 вне форума
Прохожий
 
Регистрация: 18.09.2013
Сообщения: 15
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Delphi 10 Chronium + JS

Здравствуйте!
Помогите пожалуйста с реализацией одной задачи на delphi 10, сам никак не могу разобраться.
Использую компонент Chronium мне нужно получить исходный код\содержимое всплывающего по js скрипту окна в Memo.
Например кликаешь на кнопку войти и всплывает форма входа.

Вот этот код позволяет получить содержимое только основной страницы.
Код:
public
    { Public declarations }
    HTML:ustring;
...
procedure ShowSource(const SRC: ustring);
begin
  Form1.HTML:=SRC;
end;
 
 
procedure TForm1.ChromLoadEnd(Sender: TObject; const browser: ICefBrowser;
  const frame: ICefFrame; httpStatusCode: Integer);
begin
  // это событие срабатывает, когда документ загружен
  if (browser <> nil) and (browser.Identifier = Chrom.BrowserId) and
    ((frame = nil) or (frame.IsMain))
  then
    Chrom.Browser.MainFrame.GetSourceProc(ShowSource);
end;
 
 
procedure TForm1.Button1Click(Sender: TObject);
begin
    Memo1.Lines.Add(HTML);
end;

Можно конечно сделать через костыли, при появлении js окна выделить все, скопировать и вставить.
Но это очень ненадежно и криво. Буду раз любой помощи! Скрин примера-окна в прикрепленном файле

Код:
Chromium1.browser.MainFrame.SelectAll;
Chromium1.browser.MainFrame.Copy;
Memo1.PasteFromClipboard;
Изображения
Тип файла: png 111111.png (78.5 Кбайт, 0 просмотров)
Ответить с цитированием